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 -
platform-specific lock file will be generated in
.pipenv.d/ -
To regenerate the virtual environment, simply run
pipenv-d installagain, just like what you would do withpipenv.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| pipenv-d-0.0.4.tar.gz | 3.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|