Video Link: https://youtu.be/CHpQF1rdUMY
Virtual environments allow us to manage separate and isolated Python environments for each of our Python projects.
In this video, we learned to create and manage our own virtual environments for different Python projects using a tool named virtualenv.
Programs in the Video
In order to create a virtual environment, we can use the virtualenv module.
To install virtualenv:
pip install virtualenvLet's now look at how we can create virtual environments.
Let's first create a directory in our current working space:
mkdir project1
cd project1By default, we are using the global Python environment.
which pythonOutput
/usr/bin/pythonIf we do pip list, we can see the list of currently installed packages and libraries in the global Python
installation.
Now let's create an isolated Python environment.
python -m virtualenv venvWe can see that a venv directory gets created in the current workspace. This directory contains minimal Python setup
and executables for our Python project.
Now that we have created a virtual environment, let's activate it:
.\venv\Scripts\activatesource venv/bin/activateNow, which python shows us that instead of the global Python, we are using Python which is inside our virtual
environment.
Let me now install a specific version of the requests library in this virtual environment.
pip install requests==1.1.0This version of requests is now available only for this virtual environment. It will not have any effect on our global Python setup.
In order to deactivate a virtual environment, we can simply use the deactivate command on our terminal.
deactivateUsing a virtual environment will prove very useful once you start working on a number of projects with different requirements.
You can then put all the additional requirements in a requirements file. This requirement file can then be used to set up the same type of virtual environment on any machine using:
pip install -r requirements.txtIf you want to remove a virtual environment, you can just delete the folder containing the virtual environment.