Activating Anaconda Environment in VsCode

Python Programming

Question or problem about Python programming:

I have Anaconda working on my system and VsCode working, but how do I get VsCode to activate a specific environment when running my python script?

How to solve the problem:

Solution 1:

If Anaconda is your default Python install then it just works if you install the Microsoft Python extension.

The following should work regardless of Python editor or if you need to point to a specific install:

In settings.json edit python.path with something like

"python.pythonPath": "C:\\Anaconda3\\envs\\py34\\python.exe"

Instructions to edit settings.json

Solution 2:

Simply use

  1. shift + cmd + P
  2. Search Select Interpreter

pyhton : Select Interpreter

  1. Select it and it will show you the list of your virtual environment created via conda and other python versions

Activating conda virtual environment

  1. select the environment and you are ready to go.

Quoting the ‘Select and activate an environment’ docs


Selecting an interpreter from the list adds an entry for python.pythonPath with
the path to the interpreter inside your Workspace Settings.

Solution 3:

The best option I found is to set the python.venvPath parameter in vscode settings to your anaconda envs folder.

"python.venvPath": "/Users/[...]/Anaconda3/envs" 

Then if you bring up the command palette (ctl + shift + P on windows/linux, cmd + shift + P on mac) and type Python: Select Workspace Interpreter all your envs will show up and you can select which env to use.

The python extension will also need to be installed for the Select Workspace Interpreter option.

Note: The Select Workspace Interpreter takes around 10 seconds to come up on my computer using the current version of VSCode.

Solution 4:

Setting python.pythonPath in VSCode’s settings.json file doesn’t work for me, but another method does. According to the Anaconda documentation at Microsoft Visual Studio Code (VS Code):


When you launch VS Code from Navigator, VS Code is configured to use the Python interpreter in the currently selected environment.

Anaconda Navigator

Solution 5:

Although approved answer is correct, I want to show a bit different approach (based on this answer).

Vscode can automatically choose correct anaconda environment if you start vscode from it. Just add to user/workspace settings:

{ "python.pythonPath": "C://Anaconda3/envs/${env:CONDA_DEFAULT_ENV}/python" } 

It works on Windows, macOS and probably Unix. Further read on variable substitution in vscode: here.

Solution 6:

Unfortunately, this does not work on macOS. Despite the fact that I have export CONDA_DEFAULT_ENV='$HOME/anaconda3/envs/dev' in my .zshrc and "python.pythonPath": "${env.CONDA_DEFAULT_ENV}/bin/python",
in my VSCode prefs, the built-in terminal does not use that environment’s Python, even if I have started VSCode from the command line where that variable is set.

Solution 7:

If you need an independent environment for your project:
Install your environment to your project folder using the –prefix option:

conda create --prefix C:\your\workspace\root\awesomeEnv\ python=3 

In VSCode launch.json configuration set your “pythonPath” to:

"pythonPath":"${workspaceRoot}/awesomeEnv/python.exe" 

Solution 8:

Find a note here: https://code.visualstudio.com/docs/python/environments#_conda-environments


As noted earlier, the Python extension automatically detects existing
conda environments provided that the environment contains a Python
interpreter. For example, the following command creates a conda
environment with the Python 3.4 interpreter and several libraries,
which VS Code then shows in the list of available interpreters:

 conda create -n env-01 python=3.4 scipy=0.15.0 astroid babel 


In contrast, if you fail to specify an interpreter, as with conda create
–name env-00, the environment won’t appear in the list.

Solution 9:

Just launch the VS Code from the Anaconda Navigator. It works for me.

Solution 10:

I found a hacky solution replace your environment variable for the original python file so instead it can just call from the python.exe from your anaconda folder, so when you reference python it will reference anaconda’s python.

So your only python path in env var should be like:

"C:\Anaconda3\envs\py34\", or wherever the python executable lives 

If you need more details I don’t mind explaining. ๐Ÿ™‚

Hope this helps!