Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Working with Anaconda in Visual Studio Code

I am getting a bit confused here, the latest Anaconda Distribution, 2018.12 at time of writing comes with an option to install Microsoft Visual Studio Code, which is great.

When launching VSC and after Python: Select Interpreter and with a fresh install of Anaconda, I can see ~Anaconda3\python.exe which I assume is the Anaconda Python Environment, however, when I try to run some commands, I am getting:

PS ~\Documents\Python Scripts\vs> ~/Anaconda3/Scripts/activate PS ~\Documents\Python Scripts\vs> conda activate base 

conda : The term 'conda' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1

Now I know that it might be related to the environment variables but I find it highly odd as during the Anaconda installation, there are specific mentions that it is not required to add the Anaconda path to the environment variables. However after the error, the integrated terminal manages to launch Python and I am able to run code.

Next in line is that I am unable to view any variables in the debugger after running a simple script, as shown in the tutorial here:

msg = "Hello World" print(msg) 

I do expect to see similar results as shown in the link such as the dunder variables, I have also updated my launch.json with stopOnEntry = True following the steps.

I would like to know if it is possible to use Visual Studio Code with Anaconda as a interpreter without registering variables from the original distribution and if I am missing out anything required.

I expected the experience to be more straight forward but also I might be missing something, I am running on Windows 10.

like image 238
BernardL Avatar asked Feb 22 '19 13:02

BernardL


People also ask

How use Anaconda virtual environment in VS code?

Firstly, open the command palette using Ctrl + Shift + P. Secondly, Select Python: select Interpreter. Now, Select Enter interpreter path. We have to add the path where the env is, the default location will be C:\Users\YourUserName\Anaconda3\envs\env_name.


2 Answers

For me, this solution worked in VSC (1.40) ->

1.Set the Interpreter to Python 3.7.1 ('base':conda)

2. Rather than using PowerShell I switched (Select Default Shell) to Command Prompt and started a New Terminal -> now it's in conda (base) environment.

[for Anaconda Distribution, 2018.12]

like image 35
m_kos Avatar answered Oct 14 '22 10:10

m_kos


I beat my head on this for far too long... launching VS Code from an Anaconda Prompt both feels clunky and didn't really work for integrated Powershell terminals (the default VS Code integrated terminal on Windows)

I wanted to be able to launch VS Code from any prompt (and usually the Windows menu shortcut) and still interact with Conda.

These two methods both worked for Anaconda 2020.02, VS Code 1.44.0, on Windows 10.

Easy & Quick

Switch VS Code to use cmd.exe as the default integrated terminal shell by:

  • opening the command palette (Control-Shift-P)
  • search for Terminal: Select Default Profile
  • select Command Prompt

Harder / Powershell

  • add the location of conda to your PATH (if you did not add it via the installer). For me on an "All Users" install this is C:\ProgramData\Anaconda\Scripts
  • from an Administrator Powershell prompt change the Powershell Execution Policy to remote signed i.e. Set-ExecutionPolicy RemoteSigned
  • open an Anaconda Prompt and run conda init powershell which will add Conda related startup to a Powershell profile.ps1 somewhere in your user's profile.

When you run VS Code and either debug a .py or launch a Powershell integrated terminal you should now see a message about "Loading personal and system profiles" and the Conda environment being prefixed on the terminal's prompt.

like image 129
janh Avatar answered Oct 14 '22 11:10

janh