Python Virtual Environments
Create python environments for specific app/tooling needs. Used commonly to prevent scripts/apps from munging systemwide Python installation.
Creating Environment
See python pip and virtual environment for reference material.
Install pip and virtual environment packages.
apt install python3-pip python3-venv
Create a virtual environment.
test -d {ENV DIR} || python3 -m venv {ENV DIR}
Note
All other virtual environment commands are deprecated now.
Update
~/.bashrc
to require virtual environments for pip
.export PIP_REQUIRE_VIRTUALENV=true
Using Virtual Environments
Activate virtual environment for use.
. {ENV DIR}/bin/activate
Deactivate the environment to return the normal system environment.
deactivate
Export/Import Environments
Environments may be exported for easy configuration with services and scripts.
Export current environment.
. {ENV DIR}/bin/activate
python3 -m pip freeze > {ENV CONFIG}
Install a specific environment.
. {ENV DIR}/bin/activate
python3 -m pip install --requirement {ENV CONFIG}
Updating Environments
Update environment and re-export.
Update environment.
. {ENV DIR}/bin/activate
python3 -m pip install --upgrade --requirement {ENV CONFIG}
python3 -m pip freeze > {ENV CONFIG}
References