Optional dependencies in a pip requirements file
Solution 1:
Instead of specifying optional dependencies in the same file as the hard requirements, you can create a optional-requirements.txt
and a requirements.txt
.
To export your current environment's packages into a text file, you can do this:
pip freeze > requirements.txt
If necessary, modify the contents of the requirements.txt to accurately represent your project's dependencies. Then, to install all the packages in this file, run:
pip install -U -r requirements.txt
-U
tells pip
to upgrade packages to the latest version, and -r
tells it to install all packages in requirements.txt.
Solution 2:
In 2015 PEP-0508 defined a way to specify optional dependencies in requirements.txt
:
requests[security]
That means that yourpackage
needs requests
for its security option. You can install it as:
pip install yourpackage[security]