Python Virtual Environments

Date Published:
Last Modified:


When writing a Python application, you will likely pull in a number of third party libraries, typically installed by a package manager such as pip or conda. The application will typically depend on a specific version of each library (or a narrow range of versions). This can cause conflicts if other Python applications on your computer require different versions of the same package.

The solution to this problem is to create a separate installation space for all of the libraries, specific to the application that uses them. This is called a virtual environment.

Python has a few popular frameworks for creating virtual environments.



Started at Python 3, virtualenv is installed as venv with your Python installation. For Python 2.x users, you can install virtualenv with:

$ pip install virtualenv # Python 2.x users only

env will be the name of the virtual environment.

python -m venv env

This will create a directory called env in your current working directory.

To activate (on UNIX or macOS):

$ source env/bin/activate

To deactivate:

$ deactivate


pipenv is a third-party Python virtual environment framework alternative to the built-in venv.


$ pip install --user pipenv

Related Content:


comments powered by Disqus