Conda and Visual Studio Code debugging

20,335

Solution 1

I found a better solution, based on the previous ones:

Go to Workplace Settings. Override the parameter python.venvPath with the Path to folder with a list of Virtual Environments. For the case of anaconda:

User setting

This setting enables VS Code to recognize the available conda environments. Thus, we can click on the current python interpreter and switch to others:

active interpreter enter image description here

Solution 2

When starting Visual Studio Code from an activated Conda environment, I was able to use the environment variable to specify the path (MacOS):

{
    "python.pythonPath": "~/anaconda/envs/${env.CONDA_DEFAULT_ENV}/bin/python"
}

Go to Workplace Settings by pressing Cmd , or navigating from the top menu, then add this to settings.json

Solution 3

For anyone looking for recent info on this, I recently came across this error where I had a conda env selected as the interpreter but the debugger was being launched with the base environment. This caused issues as the two environments had different versions of pyspark and caused the following error: Python in worker has different version 3.8 than that in driver 3.9

Then I came across this issue, and while it doesn't provide a fix, it gives a workaround as follows:

  • Close VScode (if running)
  • Open a terminal
  • (optional) navigate to the folder you want e.g. cd /projects/cool_name
  • Activate conda environment conda activate my_env
  • Launch VScode from the current terminal code .

This will launch new VScode window in your current directory and using the debugger should pick up my_env.

Solution 4

On MacOS, follow these steps:

  1. Install Python for VSCode (the most popular python extension)

  2. Go to Workplace Settings by pressing Cmd , or navigating from the top menu.

enter image description here

  1. Add the path of your specific conda environment, like seen above, to your settings.json file. You can find the paths of your conda environments by typing conda env list in terminal.

  2. Save and restart VS Code

Now the debugger will automatically use that environment! As far as I know, you must do this individually for each project.

For other ways of configuring your python path, here is a useful post by the extension author: https://github.com/DonJayamanne/pythonVSCode/wiki/Python-Path-and-Version

Share:
20,335

Related videos on Youtube

Andrew Schreiber
Author by

Andrew Schreiber

https://github.com/andrewschreiber

Updated on December 17, 2021

Comments

  • Andrew Schreiber
    Andrew Schreiber over 2 years

    The goal is to be able to use my environment setup from Conda/Anaconda within the visual studio code debugger. The default pythonpath configuration does not produce this effect - rather it goes to the system default python path (what you get when you type 'python' in a fresh shell).

    enter image description here

    How do I configure VS Code to use my Conda environment?

  • pkowalczyk
    pkowalczyk almost 7 years
    I also works for Windows! You have to just change the path to correct one.
  • pkowalczyk
    pkowalczyk almost 7 years
    My edit was rejected, but I think you have a typo in path, it should be env:CONDA_DEFAULT_ENV according to the doc
  • hoechenberger
    hoechenberger about 6 years
    This is an excellent solution! Could you maybe edit your response and upload / embed the screenshots?
  • Charlie Parker
    Charlie Parker about 4 years
    I am able to find the environments but then the names seem to be messed up (or not match the normal terminal vs vscode's terminal). Did you ever see that bug/behaviour? stackoverflow.com/questions/61466629/…