Pipenv is a tool that aims to bring the best of all packaging worlds (bundler, composer, npm, cargo, yarn, etc.) to the Python world. Windows is a first-class citizen, in our world.It automatically creates and manages a virtualenv for your projects, as well as adds/removes packages from your
Pipfileas you install/uninstall packages. It also generates the ever-important
Pipfile.lock, which is used to produce deterministic builds.
Cement maintainers do not currently use Pipenv, therefore this documentation is here as a helper. Future versions of Cement may include Pipenv configurations out-of-the-box (but do not currently).
Pipenv can be installed via Pip:
pip install pipenv
First install Cement, and generate a project:
pip install cement
cement generate project ./myapp
In the generated
### setup requirements
pipenv install -r requirements.txt
### setup requirements for dev
pipenv install -r requirements-dev.txt --dev
This will create the
./Pipfile.lock. You will then need to modify
Pipfileto include the application console script:
myapp = "python -m myapp.main"
Your app can then be run under
pipenv run myapp --help
You can then remove the
requirements-dev.txtif no longer needed.