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.
Solution 1:
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 isC:\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.
Solution 2:
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]
Solution 3:
To set anaconda prompt as your default terminal in VScode:
- (type) CTRL + SHIFT + P
- (search for:) open settings
- (click:) Preferences: Open Settings (JSON)
Then add three line configuration:
{
... # any other settings you have already added (remove this line)
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
"terminal.integrated.shellArgs.windows": ["/K", "C:\\Anaconda3\\Scripts\\activate.bat C:\\Anaconda3"],
"python.condaPath": "C:\\Anaconda3\\Scripts\\conda.exe"
}
Finally, Restart your VScode
Solution 4:
Activating a conda environment does not place conda
on your PATH
. You need to launch the Anaconda Prompt
app from your Start menu to get a command-line with conda
on your PATH
if you didn't check the box to include conda
during installation.
Also realize that conda
only supports PowerShell as of conda
4.6 which was released in January 2019.
And the Python extension for VS Code works with conda
fine. Create a conda
environment and the extension will allow you to select it as your environment/interpreter.