Venv environment
Warning
This guide assumes you have a core Python installation with the py launcher installed to use the py
command. See python.org to download a version of python.
The venv module is part of python's standard library. It supports creating lightweight virtual environments, each with their own independent set of packages installed in their site directories. A virtual environment is created on top of an existing Python installation, known as the virtual environment’s “base” python, and may optionally be isolated from the packages in the base environment, so only those explicitly installed in the virtual environment are available.
When used from within a virtual environment, common installation tools such as pip will install Python packages into a virtual environment without needing to be told to do so explicitly.
How to create a virtual environment using venv
To create a new venv environment for your project, open a terminal and enter:
Note
-
The optional
<python-version>
tag specifies the Python version you wish the virtual environment to run. If omitted, it will default to the latest Python version installed on your system. -
<venv-directory>
describes the name of the virtual environment. You have to provide this, as it also defines the name of the directory in which the virtual environment will be created. It is recommended to choose a name that reflects the project you are working on. If you are using git, remember to add this path to your.gitignore
file! -
In VS Code you can create a virtual environment by using the command
Python: Create Environment
available in the command palleteCTRL + SHIFT + P
. This will also automatically install all the packages in arequirements.txt
file.
How to activate a venv environment
To activate a venv environment open a terminal and enter:
Note
-
On Windows you may be unable to run the activation script due to scripts being disabled. See this link to find out how to change your execution policy.
-
If you would like to use the Windows Command Prompt instead, the identification of file paths are specified with a backslash rather than a forward slash. It is recommended to use PowerShell as it can use either method.
How to deactivate a venv environment
To deactivate the active venv environment open a terminal and enter:
How to install packages into a venv environment
To install packages to a venv environment using a requirements.txt
file, first activate the target environment. For example, using Windows PowerShell:
And then enter:
TL;DR
The following contains a full example do illustrate how easy it is to get started with virtual environments!
We create the virtual environment for project-1 in a folder called venv
(which is automatically ignored by many stock .gitignore
files) and call it project-1
. After installing the requirements it's good to go, and one could use it to run Python files, interactive development, etc. just like a normal Python interpreter.
External links
External Links Disclaimer
NHS England makes every effort to ensure that external links are accurate, up to date and relevant, however we cannot take responsibility for pages maintained by external providers.
NHS England is not affiliated with any of the websites or companies in the links to external websites.
If you come across any external links that do not work, we would be grateful if you could report them by raising an issue on our RAP Community of Practice GitHub.