Managing Dependencies
To know about the required dependencies, their minimum required versions check the requirements*.txt files. Whenever we pin to a specific version in requirements*.in, we add a comment explaining why we are doing so. We also have comments on their use.
All the required dependencies for running pip-compile are in pip-tools (https://github.com/jazzband/pip-tools) which installs pip-compile command.
To install or update all dependencies
Note : The pip-compile command lets you compile a requirements*.txt from your dependencies, specified in either setup.py or requirements*.in. So, ensure you don’t have requirements.txt if you compile setup.py or requirements*.in from scratch, otherwise, it might interfere. You can also specify a file name other than requirements.txt in the following command.
To compile all dependencies run
pip-compile --output-file requirements.txt requirements.inTo update all dependencies; Install GNU Make and periodically run
make up-reqsTo install all dependencies to your local environment run
pip-sync requirements*.txtTo add a specific new dependency
To compile a specific dependency run
pip-compile --output-file requirements.txt requirements.in [package_name] --no-emit-index-urlReplace [package_name] with the dependency name you want from requirements.txt file.
Whenever we pin to a specific version in requirements*.in, we add a comment explaining why we are doing so. You can also specify the version you want to compile by running.
pip-compile --output-file requirements.txt [package_name]==[package_version] --no-emit-index-urlExample of bcrypt package
pip-compile --output-file requirements.txt bcrypt==3.2.0 --no-emit-index-urlTo update a specific dependency
Note : Make sure you check the requirements*.in file comments before you change the version.
To update a specific package to the latest version use the --upgrade-package or -P flag:
pip-compile --output-file requirements.txt --upgrade-package [package_name]Replace [package_name] with the dependency name you want from requirements.txt file.
Whenever we pin to a specific version in requirements*.in, we add a comment explaining why we are doing so. You can also specify the version you want to upgrade to by running.
pip-compile --output-file requirements.txt --upgrade-package [package_name]==[package_version]Example of bcrypt package
pip-compile --output-file requirements.txt --upgrade-package bcrypt==3.2.0You can combine --upgrade and --upgrade-package in one command, to provide constraints on the allowed upgrades. For example to upgrade all packages whilst constraining bcrypt to the latest version less than 3.0:
pip-compile --output-file requirements.txt --upgrade --upgrade-package 'bcrypt<3.0'Last updated
Was this helpful?