在VsCode中激活Anaconda环境

问题描述 投票:28回答:9

我有Anaconda在我的系统和VsCode上工作,但是如何在运行我的python脚本时让VsCode激活特定的环境?

python visual-studio-code anaconda
9个回答
23
投票

如果Anaconda是您的默认Python安装,那么只有安装Microsoft Python extension才能正常工作。

无论Python编辑器如何或者您需要指向特定安装,以下内容都应该有效:

在settings.json中编辑python.path

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

Instructions编辑settings.json


28
投票

简单地使用

  1. shift + cmd + P.
  2. 搜索选择解释器

pyhton : Select Interpreter

  1. 选择它,它将显示通过conda和其他python版本创建的虚拟环境列表

Activating conda virtual environment

  1. 选择环境,你准备好了。

10
投票

虽然批准的answer是正确的,但我希望展示一种不同的方法(基于这个answer)。

如果从中启动vscode,Vscode可以自动选择正确的anaconda环境。只需添加到用户/工作区设置:

{
    "python.pythonPath": "C:/<proper anaconda path>/Anaconda3/envs/${env:CONDA_DEFAULT_ENV}/python"
}

它适用于Windows,macOS和Unix。进一步阅读vscode中的变量替换:here


10
投票

我找到的最佳选择是将python.venvPath中的vscode settings参数设置为anaconda envs文件夹。

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

然后,如果你打开命令调色板(在windows / linux上的ctl + shift + P,在mac上的cmd + shift + P)并输入Python: Select Workspace Interpreter,你的所有env都会出现,你可以选择使用哪个env。

还需要为Select Workspace Interpreter选项安装python extension

注意:使用当前版本的VSCode,选择工作区解释器大约需要10秒钟才能在我的计算机上显示。


6
投票

不幸的是,这不适用于macOS。尽管我的VSCode prefs中的.zshrc和export CONDA_DEFAULT_ENV='$HOME/anaconda3/envs/dev'中有"python.pythonPath": "${env.CONDA_DEFAULT_ENV}/bin/python", ,但内置终端不使用该环境的Python,即使我已从设置该变量的命令行启动VSCode。


2
投票

如果您的项目需要独立环境:使用--prefix选项将环境安装到项目文件夹:

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

在VSCode launch.json配置中,将“pythonPath”设置为:

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

1
投票

我已经尝试在VSCode settings.json中设置python.pythonPath,但它对我不起作用。

根据Anaconda文档“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

按照上面的说明,我可以正确地处理某些Anaconda环境。


0
投票

我发现一个hacky解决方案替换原始python文件的enviornment变量,所以它可以从你的anaconda文件夹中的python.exe调用,所以当你引用python它将引用anaconda的python。

所以你在env var中唯一的python路径应该是这样的

"C:\Anaconda3\envs\py34\", or where ever the python exe lives

如果您需要更多细节,我不介意解释。 :)


0
投票

在这里找到一个注释:https://code.visualstudio.com/docs/python/environments#_conda-environments

如前所述,如果环境包含Python解释器,Python扩展会自动检测现有的conda环境。例如,以下命令使用Python 3.4解释器和几个库创建一个conda环境,然后VS Code会在可用解释器列表中显示:

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

相反,如果您未能指定解释器,就像使用conda create --name env-00一样,环境将不会出现在列表中。

© www.soinside.com 2019 - 2024. All rights reserved.