Skip to main content

dirty hack of pipenv

Project description

pipenv-d: A dirty hack of pipenv

pipenv-d is a dirty hack of pipenv.

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

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 other, especially for machine learning applications whcih rely on extension modules (Cython, pybind11, Numba..etc) heavily which are very platform-specific.

I am just so tired of fixing such 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pipenv-d-0.0.3.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

pipenv_d-0.0.3-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file pipenv-d-0.0.3.tar.gz.

File metadata

  • Download URL: pipenv-d-0.0.3.tar.gz
  • Upload date:
  • Size: 2.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pipenv-d-0.0.3.tar.gz
Algorithm Hash digest
SHA256 27fba7b380f4fdeafd5ba35f676aaf2ba6f752ee7020029da0f7829a52de2dd9
MD5 5da233aa775f595bd6ac5661c12512d2
BLAKE2b-256 c7033c799c37ed25991b2f41803a5ca5477fbe1e0ec65f7a714d8cd58cae02ca

See more details on using hashes here.

File details

Details for the file pipenv_d-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: pipenv_d-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pipenv_d-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b862b1ddb716e484f24c46bc17e3eae0608671fc313130aa791891f80fb55218
MD5 fcb4c33fae3e15048bd5619e40c90f8f
BLAKE2b-256 87bcb213b6ba04a4ec6bcf756018bed478da833504025ea6618218e5a3cc4f6d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page