Creating isolated development environments with Virtualenv
The traditional approach to developing applications in Python is to isolate these applications in a virtual environment. This is done to avoid installing packages globally and reduce conflicts during application development.
A virtual environment is an isolated environment where application dependencies installed can only be accessed within it. As a result, the application can only access packages and interact only within this environment.
Creating a virtual environment
By default, the
venv module from the standard library is installed in Python3. The
venv module is responsible for creating a virtual environment. Let’s create a
todos folder and create a virtual environment in it by running the following commands:
$ mkdir todos && cd todos $ python3 -m venv venv
venv module takes an argument, which is the name of the folder where the virtual environment should be installed into. In our newly created virtual environment, a copy of the Python interpreter is installed in the
lib folder, and the files enabling interactions within the virtual environment are stored in the
Activating and deactivating the virtual environment
$ source venv/bin/activate
The preceding command instructs your shell to use the virtual environment’s interpreter and packages by default. Upon activating the virtual environment, a prefix of the
venv virtual environment folder is added before the prompt as follows:
Now that we have created the virtual environment, we can now proceed to understand how package management with pip works.