Software & AppsOperating SystemLinux

Creating Python 3.6 Virtual Environment on Ubuntu 20.04

Ubuntu 4

In this guide, we will walk you through the process of creating a Python 3.6 virtual environment on Ubuntu 20.04. This is a crucial process for Python developers as it allows you to work on different projects without interfering with each other’s dependencies and settings.

Quick Answer

To create a Python 3.6 virtual environment on Ubuntu 20.04, you need to first install Python 3.6 using the deadsnakes PPA. Then, install the virtualenv package and create a virtual environment using the virtualenv command.


Before we start, make sure you have sudo privileges on your Ubuntu 20.04 system.

Step 1: Install Python 3.6

First, we need to ensure that Python 3.6 is installed on our system. You can do this by adding the deadsnakes PPA to your system’s software repository list. Run the following commands in your terminal:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6

Here, sudo is used to run commands with root privileges. add-apt-repository is a script which adds an external APT repository to either /etc/apt/sources.list or a new file in /etc/apt/sources.list.d/. The ppa:deadsnakes/ppa is the repository we’re adding. After adding the repository, we update the package lists for upgrades and new package installations using apt-get update. Finally, we install Python 3.6 with apt-get install python3.6.

Step 2: Install the virtualenv Package

Next, we need to install the virtualenv package. This package is a tool to create isolated Python environments. Run the following commands in your terminal:

sudo apt-get update
sudo apt-get install python3-virtualenv

Step 3: Create a Virtual Environment

Now that we have Python 3.6 and virtualenv installed, we can create a virtual environment. Run the following command in your terminal:

virtualenv -p /usr/bin/python3.6 my_venv3.6

Here, virtualenv is the command to create a virtual environment. The -p option is used to specify the Python interpreter to use, in this case, /usr/bin/python3.6. my_venv3.6 is the name of the virtual environment we’re creating.


If you encounter any issues during the process, here are some troubleshooting tips:

  • If you get an error message saying “No module named venv” when using python3.6 -m venv, it means that the venv module is not installed for Python 3.6. You can try installing it separately by running the command sudo apt-get install python3.6-venv.
  • If you receive an error message like “RuntimeError: failed to query /usr/bin/python3.6 with code 1”, it could be due to a problem with the Python installation. Make sure that Python 3.6 is properly installed on your system.
  • If you encounter the error “Package ‘python3.6-venv’ has no installation candidate” when trying to install python3.6-venv, it means that the package is not available in the default repositories. In this case, you can try alternative methods like using virtualenv directly or using pyenv to manage different Python versions.

Please note that the availability of packages and repositories may vary, so it’s possible that some of the mentioned solutions may not work in your specific case.


By following the steps in this guide, you should now have a working Python 3.6 virtual environment on your Ubuntu 20.04 system. This will allow you to work on different Python projects in isolation, ensuring that dependencies and settings don’t conflict between projects. Happy coding!

What is a virtual environment?

A virtual environment is a self-contained Python environment that allows you to install packages and dependencies specific to a project without affecting the global Python installation or other projects.

Why should I use a virtual environment?

Using a virtual environment is beneficial because it isolates the dependencies and settings of each project, preventing conflicts between different projects. It also allows you to easily manage and switch between different Python versions and package versions.

How do I activate the virtual environment?

To activate the virtual environment, you can use the following command in your terminal: source my_venv3.6/bin/activate. This will activate the virtual environment and change your shell’s prompt to indicate that you are working within the virtual environment.

How do I deactivate the virtual environment?

To deactivate the virtual environment and return to your system’s default Python environment, simply run the deactivate command in your terminal.

Can I use a different Python version for my virtual environment?

Yes, you can specify a different Python version when creating a virtual environment by changing the -p option in the virtualenv command. Make sure that the specified Python version is installed on your system.

Can I install packages inside the virtual environment?

Yes, once the virtual environment is activated, you can use the pip command to install packages just like you would in a regular Python environment. The packages will be installed within the virtual environment, keeping them separate from other projects.

How do I delete a virtual environment?

To delete a virtual environment, simply remove the directory containing the environment. Be cautious when deleting as this will permanently delete all the installed packages and files within the virtual environment.

Can I share my virtual environment with others?

Yes, you can share your virtual environment by providing the directory containing the environment. Others can then activate the environment on their own systems using the source command mentioned earlier.

Can I use the same virtual environment for multiple projects?

It is generally recommended to create separate virtual environments for each project. This ensures that the dependencies and settings for each project are isolated and prevents conflicts. However, you can reuse a virtual environment if the projects have the same dependencies and requirements.

Can I upgrade Python or install additional packages within the virtual environment?

Yes, you can upgrade Python or install additional packages within the virtual environment without affecting the global Python installation or other virtual environments. However, be aware that upgrading Python may require reinstalling packages that are not compatible with the new version.

Leave a Comment

Your email address will not be published. Required fields are marked *