我有Anaconda在我的系统和VsCode上工作,但是如何在运行我的python脚本时让VsCode激活特定的环境?
如果Anaconda是您的默认Python安装,那么只有安装Microsoft Python extension才能正常工作。
无论Python编辑器如何或者您需要指向特定安装,以下内容都应该有效:
在settings.json中编辑python.path
"python.pythonPath": "C:\\Anaconda3\\envs\\py34\\python.exe"
Instructions编辑settings.json
我找到的最佳选择是将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秒钟才能在我的计算机上显示。
不幸的是,这不适用于macOS。尽管我的VSCode prefs中的.zshrc和export CONDA_DEFAULT_ENV='$HOME/anaconda3/envs/dev'
中有"python.pythonPath": "${env.CONDA_DEFAULT_ENV}/bin/python",
,但内置终端不使用该环境的Python,即使我已从设置该变量的命令行启动VSCode。
如果您的项目需要独立环境:使用--prefix选项将环境安装到项目文件夹:
conda create --prefix C:\your\workspace\root\awesomeEnv\ python=3
在VSCode launch.json配置中,将“pythonPath”设置为:
"pythonPath":"${workspaceRoot}/awesomeEnv/python.exe"
我已经尝试在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环境。
我发现一个hacky解决方案替换原始python文件的enviornment变量,所以它可以从你的anaconda文件夹中的python.exe调用,所以当你引用python它将引用anaconda的python。
所以你在env var中唯一的python路径应该是这样的
"C:\Anaconda3\envs\py34\", or where ever the python exe lives
如果您需要更多细节,我不介意解释。 :)
在这里找到一个注释: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一样,环境将不会出现在列表中。