To create Python virtual environments I use virtualenv and pip. The workflow is very simple:
$ virtualenv project $ cd project $ . bin/activate $ pip install -r /path/to/requirements/req1.txt $ pip install -r /path/to/requirements/req2.txt
The number of different requirement files can grow enough to make handy to have a way to include them at once, so I'd rather prefer to say:
$ pip install -r /path/to/requirements/req1_req2.txt
with req1_req2.txt
containing something like:
include /path/to/requirements/req1.txt include /path/to/requirements/req2.txt
or otherwise:
$ pip install -r /path/to/requirements/*.txt
None of that works and however much simple it could be, I can't figure out how to do what I want.
Any suggestion?
The most common command is pip freeze > requirements. txt , which records an environment's current package list into requirements. txt. If you want to install the dependencies in a virtual environment, create and activate that environment first, then use the Install from requirements.
txt. This is a safeguard against typos when running pip install -r requirements-dev. txt. If you leave out the -r by accident, this package will cause your installation to abort.
The -r
flag isn't restricted to command-line use only, it can also be used inside requirements files. So running pip install -r req-1-and-2.txt
when req-1-and-2.txt contains this:
-r req-1.txt -r req-2.txt
will install everything specified in req-1.txt and req-2.txt.
Just on a note, you can also split the requirements based on your groupings and embed them in a single file ( or again can prepare multiple requirements file based on your environment), that you can execute.
For example, the test requirements here:
requirements-test.txt
pylint==2.4.4 pytest==5.3.2
The dev requirements here:
requirements-dev.txt
boto3>=1.12.11
Master requirements file containing your other requirements:
requirements.txt
-r requirements-dev.txt -r requirements-test.txt
Now, you can just install the requirements file embedding your other requirements
pip3 install -r requirements.txt
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With