How to Use Different Python Versions with Virtualenv

In this blog, we’ll explore the significance of virtual environments (virtualenv) for software engineers. Discover how virtualenv simplifies dependency management and guarantees code functionality, irrespective of the Python version on your system.

As a software engineer, you are probably familiar with virtual environments (virtualenv) as a way of creating isolated Python environments for your projects. Virtualenv makes it easy to manage dependencies and ensure that your code works correctly, regardless of the Python version installed on your system.

But what if you need to use a specific Python version for a particular project? Fortunately, virtualenv makes it easy to use different Python versions, and in this blog post, we will walk you through the process.

Step 1: Install the Required Python Version

Before you can use a specific Python version with virtualenv, you need to install that version on your system. There are several ways to do this, depending on your operating system.

For example, on Linux, you can use the package manager to install the required version. On Ubuntu, for instance, you can install Python 3.8 using the following command:

sudo apt-get install python3.8

On macOS, you can use Homebrew to install Python 3.8 using the following command:

brew install python@3.8

On Windows, you can download and install the required Python version from the official Python website.

Step 2: Create a Virtual Environment

Once you have installed the required Python version, you can create a virtual environment using virtualenv. To do this, open a terminal window and navigate to the directory where you want to create the virtual environment.

Then, enter the following command to create a new virtual environment:

virtualenv -p /path/to/python/version myenv

Replace /path/to/python/version with the path to the installed Python version, and myenv with the name you want to give to your virtual environment.

For example, if you installed Python 3.8 in the default location on your system, you can create a virtual environment for that version using the following command:

virtualenv -p /usr/bin/python3.8 myenv

This will create a new virtual environment named myenv that uses Python 3.8.

Step 3: Activate the Virtual Environment

Once you have created the virtual environment, you need to activate it to start using it. To do this, enter the following command in your terminal window:

source myenv/bin/activate

This will activate the virtual environment and change your terminal prompt to indicate that you are now using the virtual environment.

Step 4: Install Packages

With the virtual environment activated, you can now install the packages required for your project. To do this, use the pip package manager as you normally would.

For example, to install the requests package, enter the following command:

pip install requests

This will install the requests package in your virtual environment.

Step 5: Deactivate the Virtual Environment

When you are finished working in the virtual environment, you can deactivate it using the following command:


This will return you to your system’s default Python environment.


Using virtualenv to create isolated Python environments is a best practice for software engineering. With the steps outlined in this blog post, you can easily use different Python versions with virtualenv, ensuring that your code works correctly regardless of the Python version installed on your system.

By following these steps, you can create separate environments for each project you work on, each with its own Python version and dependencies. This makes it easy to manage dependencies and ensure that your code works as expected, even if you need to work on multiple projects that require different Python versions.

About Saturn Cloud

Saturn Cloud is your all-in-one solution for data science & ML development, deployment, and data pipelines in the cloud. Spin up a notebook with 4TB of RAM, add a GPU, connect to a distributed cluster of workers, and more. Join today and get 150 hours of free compute per month.