Python Virtual Environment: Difference between revisions
Line 32: | Line 32: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=Virtual Environments and Dependencies= | =Virtual Environments and Dependencies= | ||
The dependencies can then be installed with: | |||
<syntaxhighlight lang='bash'> | |||
venv/bin/pip install -r requirements.txt | |||
</syntaxhighlight> | |||
Also see: | |||
{{Internal|pip#Overview|<tt>pip</tt>}} | |||
{{Internal|pip#requirements.txt|<tt>requirements.txt</tt>}} | |||
<font color=darkkhaki>TO TEST THAT: The dependencies installed in a virtual environment are used automatically if the interpreter is <code>./venv/bin/python</code>.</font> | <font color=darkkhaki>TO TEST THAT: The dependencies installed in a virtual environment are used automatically if the interpreter is <code>./venv/bin/python</code>.</font> | ||
=Activated Virtual Environment Shell= | =Activated Virtual Environment Shell= |
Revision as of 17:30, 2 May 2023
External
- https://peps.python.org/pep-0405/ PEP 405 – Python Virtual Environments
Internal
Overview
A virtual environment is a mechanism to isolate a set of installed dependencies. Virtual environments can be managed with tools like virtualenv
, venv
, etc. and reside in directories called venv
or .venv
within the project's root. It is a good practice to avoid storing the content of venv
or equivalent in source control. The content is populated locally on the developers' machines.
Manual Creation
A virtual environment can be created manually as follows:
python3 -m venv <virtual-env-dir-name>
Example:
python3 -m venv venv
After the virtual environment is created, it is usually a good idea to upgrade pip
:
venv/bin/python3 -m pip install --upgrade pip
The dependencies can then be installed with:
venv/bin/pip install -r requirements.txt
For more details on virtual environments and dependencies see Virtual Environments and Dependencies below.
Upgrade pip for an Already Initialized Virtual Environment
To upgrade pip
within an already initialized virtual environment:
venv/bin/python3 -m pip install --upgrade pip
Virtual Environments and Dependencies
The dependencies can then be installed with:
venv/bin/pip install -r requirements.txt
Also see:
TO TEST THAT: The dependencies installed in a virtual environment are used automatically if the interpreter is ./venv/bin/python
.
Activated Virtual Environment Shell
An "activated" virtual environment means making the virtual environment Python interpreter the default interpreter for the shell session.
To activate the virtual environment:
source .venv/bin/activate
To "deactivate", run:
deactivate
or simply exit the shell.
Bash Wrapper that Bootstraps a Virtual Environment
function init_venv() {
[[ -d $(dirname $)/venv ]] && return 0
info "initializing venv ..."
python3 --version 1>/dev/null 2>&1 || fail "python3 not in PATH"
python3 -m venv "$(dirname $)/venv"
}