Skip to main content

pipenv-d: A dirty hack of pipenv

pipenv-d is a dirty hack of pipenv.

TL;DR, I want this feature, so pipenv can support multiple platform-specific lock files.

Why? Because some of my colleagues are using x86_64 machine and some are using Apple silicon (such as m1). As a result, when some of them lock dependencies on one machine, high chances is that the lock file may not work on the others, especially for machine learning applications which heavily rely on extension modules (Cython, pybind11, Numba..etc) and are very platform-specific.

I am just so tired of fixing dependency issues for them. I NEED platform-specific lock file support ASAP.

Installation

  • via pip
$ python3 -m pip install pipenv-d

Usage

Simple, whenever you want to run pipenv in the console, replace it with pipenv-d.

pipenv-d works exactly the same as pipenv except that it will create platform-specific lock file in your project instead of single Pipfile.lock.

Demo

  • install packages in your project with pipenv-d install-packages

  • platform-specific lock file will be generated in .pipenv.d/ lock-files

  • To regenerate the virtual environment, simply run pipenv-d install again, just like what you would do with pipenv. reinstall shell

How it works?

Simple, everytime pipenv generate a Pipfile.lock, move it to .pipenv.d directory and give it a platform-specific name.

If any platform-specific-named lock file found in .pipenv.d when pipenv-d is executed, copy the content to Pipfile.lock in the working directory and invoke pipenv command afterward.

After pipenv exits, move Pipfile.lock back to .pipenv.d.

Release files for pipenv-d 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pipenv-d 0.0.4
File Size Uploaded
pipenv-d-0.0.4.tar.gz 3.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pipenv-d 0.0.4
File Interpreter ABI Platform
pipenv_d-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 6.6 kB

Release files / pipenv-d-0.0.4.tar.gz

Download URL pipenv-d-0.0.4.tar.gz
Size 3.0 kB
Tags Source
SHA-256 checksum
How to use checksums
fee433b64895215134de5d27186ace50a9d87bf371316057d24fd4fe52f687d5
BLAKE2b-256 checksum
How to use checksums
c030cdfea643e3e7097cbc6215380995b8e07453d04072ae04feee74b22b186d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / pipenv_d-0.0.4-py3-none-any.whl

Download URL pipenv_d-0.0.4-py3-none-any.whl
Size 3.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
56f91d747585a6151e9ec3a309b9c87b9002b1dc08a7a0754dbd11a06e63ebbb
BLAKE2b-256 checksum
How to use checksums
bd73c3b22ab0b97884ad1c98c40c1b59bb48b023002a7bb9d902c9b513896cce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page