Dark Mode

Using Python Virtual Environment in VSCode

using python virtual environment in vscode

When trying to use a Python virtual environment in VSCode, it was not detecting the virtual environment. The solution was very simple, but I couldn’t find it on Google.

Most of the solutions found on StackOverflow and Github were suggesting to change the pythonPath in VSCode settings.

This article shows how to use a Python virtual environment in VSCode, without having to change the pythonPath in VSCode settings.

Just for the sake of completeness, we will start by installing virtualenv and creating a virtual environment. If you are only interested in the VSCode setup, skip to the VSCode setup section directly.

Install Virtualenv

We will be using virtualenv to create our python virtual environments. We will use pip to install it.

Install virtualenv using pip:

pip install virtualenv

Check your installation:

virtualenv --version

Create a Virtual Environment

First, let us create a folder .virtualenvs in the home directory. This is where we will keep all our virtual environments.

cd ~
mkdir .virtualenvs
cd .virtualenvs

From inside the .virtualenvs directory, create a new virtual environment using virtualenv

virtualenv venv

Now, let us activate the virtual environment

source venv/bin/activate

We will install a package in the virtual environment so that we can test if the setup is working as expected.

pip install excel

We will create test.py that will import from the excel package that we just installed.

from excel import OpenExcel

VSCode Setup

At first, if you open the test.py file, assuming you have Python linter extension installed, VSCode will show an error like this.

vscode showing error

This is because VSCode is not using the correct python interpreter. There are two ways in which you can fix this.

1. Update Venv Path Settings in VSCode

Open VSCode preferences (Ctrl + ,) and search for “venv”. Add ~/.virtualenvs to the “Venv Path” settings, like so:

update vscode venv path settings

Restart VSCode and click on the interpreter version on the left-bottom corner.

select python interpreter

Now, you will be able to see the virtual environment python interpreter in the interpreter list. Select it, now the issue should be resolved.

select virtual environment python interpreter

2. Add the Virtual Environment Folder to VSCode.

Add the folder that contains the virtual environment to VSCode, in our case, it is the ~/.virtualenv folder. Once added, you will be able to select the interpreter by clicking on the interpreter version displayed on the left-bottom corner.

That’s all folks 🙂

See responses (3)