Caveat: this project is no longer maintained. If you are looking for an alternative, take a look at rye.
dmenv
handles creation of virtualenv and lock files for you.
Here it is in action:
- First, generate a
requirements.lock
to "freeze" all your dependencies
$ dmenv lock
Creating virtualenv in: /path/to/.venv/3.6.7
-> running /usr/bin/python3 -m /path/to/.venv venv/3.6.7
-> running /path/to/.venv/3.6.7/bin/python -m pip install pip --upgrade
...
-> running /path/to/.venv/3.6.7/bin/pip freeze --exclude-editable
:: Requirements written to /path/to/requirements.lock
- Then, anyone can use the
requirements.lock
to install all the dependencies at their frozen version:
$ dmenv install
:: Creating virtualenv in: /path/to/.venv/3.6.7
-> running /usr/bin/python3 -m venv /path/to/.venv/3.6.7
-> running /path/to/.venv/3.6.7/bin/python -m pip install pip --upgrade
...
-> running /path/to/.venv/3.6.7/bin/python setup.py develop --no-deps
...
Installing demo script to /path/to/.venv/3.6.7/bin
Go read the fine documentation and learn how to use dmenv for your own Python project :)