【发布时间】:2017-09-07 04:12:27
【问题描述】:
我让 Anaconda 在我的系统上工作,而 VsCode 也在工作,但是如何让 VsCode 在运行我的 python 脚本时激活特定环境?
【问题讨论】:
-
大多数答案都是特定于 Windows 的。最好能有一个包含 MacOS 和 Linux 系统的答案。
标签: python visual-studio-code anaconda
我让 Anaconda 在我的系统上工作,而 VsCode 也在工作,但是如何让 VsCode 在运行我的 python 脚本时激活特定环境?
【问题讨论】:
标签: python visual-studio-code anaconda
"python.pythonPath" 已弃用,引用自 vscode:
settings.json 中的“python.pythonPath”设置不再是 由 Python 扩展使用。如果需要,您可以使用新设置 改为“python.defaultInterpreterPath”。请记住,您 需要手动更改此设置的值作为 Python 当您更改解释器时,扩展不会修改它。了解更多。
因此,如果您想手动分配路径(不推荐,如上所述),请打开工作区的“settings.json”或默认路径并使用
{
"python.defaultInterpreterPath": "C:\\Users\\MYUSER\\anaconda3\\envs\\testenv\\python.exe"
}
【讨论】:
Python Path 现在已弃用,现在您应该设置Conda Path。这样您就可以动态选择不同的环境。
点击ctrl + ,然后搜索Conda Path并添加脚本的绝对路径,例如:
C:\Users\{myUser}\miniconda3\Scripts\conda.exe
在左下角或通过命令面板为每个项目选择特定环境(ctrl + Shift + P -> 搜索Python: Select Interpreter)
【讨论】:
由于我无法通过建议的方式解决我的问题,我将分享我是如何解决的。
首先,即使我能够激活环境,C:\ProgramData\Anaconda3\envs 目录中也不存在相应的环境文件夹。
所以我使用 Anaconda 提示创建了一个新的 anaconda 环境,
将在envs 文件夹中创建一个与给定环境名称相同的新文件夹。
接下来,我在 Anaconda 提示符下激活了该环境。
使用conda install python 命令安装python。
然后在 anaconda navigator 上,在“Applications on”菜单中选择新创建的环境。 通过 Anaconda navigator 启动 vscode。
现在正如其他答案所建议的那样,在 vscode 中,使用Ctrl + Shift + P 键盘快捷键打开了命令面板。
搜索并选中Python: Select Interpreter
如果没有列出新创建的环境解释器,请选择Enter Interpreter Path 并选择与C:\ProgramData\Anaconda3\envs\<your-new-env>\ 类似的新创建的python.exe。
所以总路径看起来像C:\ProgramData\Anaconda3\envs\<your-nev-env>\python.exe
下次以后,该口译员将自动列在其他口译员中。
现在您可能会在 vscode 的左下方看到您选择的 conda 环境。
【讨论】:
我发现如果我们不指定我们想要的python版本,创建的环境是完全空的。因此,为了解决这个问题,我也提供了 python 版本。即
conda create --name env_name python=3.6
所以它现在所做的是安装 python 3.6,现在我们可以选择解释器。为此,请按照以下步骤操作:
首先,使用Ctrl + Shift + P打开命令面板
其次,选择Python: select Interpreter
现在,选择Enter interpreter path
我们必须添加环境所在的路径,默认位置是
C:\Users\YourUserName\Anaconda3\envs\env_name
最后,您已成功激活您的环境。 它现在可能是最好的方法,但它对我有用。如果有任何问题,请告诉我。
【讨论】:
只需从 Anaconda Navigator 启动 VS Code。它对我有用。
【讨论】:
简单地使用
引用“选择并激活环境”docs
从列表中选择解释器会为
python.pythonPath添加一个条目
Workspace Settings 中的解释器路径。
【讨论】:
Anaconda Navigator 并在Home 标签中选择Application on 标签旁边的venv,然后从导航器启动VS 代码(如果不是launch 选项,它是显示install选项,先安装它,即使你的电脑上安装了vs代码)就像下面振宇解释的那样。
我发现一个 hacky 解决方案将您的环境变量替换为原始 python 文件,这样它就可以从您的 anaconda 文件夹中的 python.exe 调用,所以当您引用 python 时,它将引用 anaconda 的 python。
所以你在 env var 中唯一的 python 路径应该是这样的:
"C:\Anaconda3\envs\py34\", or wherever the python executable lives
如果您需要更多详细信息,我不介意解释。 :)
【讨论】:
在 VSCode 的 settings.json 文件中设置 python.pythonPath 对我不起作用,但另一种方法可以。根据 Microsoft Visual Studio Code (VS Code) 的 Anaconda 文档:
当您从 Navigator 启动 VS Code 时,VS Code 被配置为在当前选择的环境中使用 Python 解释器。
【讨论】:
在此处查找注释:https://code.visualstudio.com/docs/python/environments#_conda-environments
如前所述,Python 扩展会自动检测现有的 conda 环境,前提是环境包含 Python 口译员。例如,以下命令创建一个 conda 带有 Python 3.4 解释器和几个库的环境, 然后 VS Code 会显示在可用解释器列表中:
conda create -n env-01 python=3.4 scipy=0.15.0 astroid babel
相反,如果你没有指定解释器,就像 conda create --name env-00,环境不会出现在列表中。
【讨论】:
conda install --name my_env_name python,我的问题就解决了。有关此命令的更多信息:docs.conda.io/projects/conda/en/latest/user-guide/tasks/…
如果 Anaconda 是您的默认 Python 安装,那么只要您安装 Microsoft Python extension,它就可以工作。
无论使用 Python 编辑器还是需要指向特定安装,以下内容都应该可以工作:
在 settings.json 中编辑 python.path 类似
"python.pythonPath": "C:\\Anaconda3\\envs\\py34\\python.exe"
Instructions 编辑 settings.json
【讨论】:
python.pythonPath": "C:\\Anaconda3\\envs\\py34\\python.exe" 注意我更新为使用“\\”来转义路径中的单个“\”。然后右键单击.py代码并选择“在python终端中运行文件”希望有所帮助
python.venvPath 设置,允许您在命令面板中使用Python: Select Workspace Interpreter 来选择环境(有关详细信息,请参阅我的答案)。这样你就不必每次更改环境时都编辑 pythonpath。
我发现的最佳选择是将vscode settings 中的python.venvPath 参数设置为您的anaconda envs 文件夹。
"python.venvPath": "/Users/[...]/Anaconda3/envs"
然后,如果您打开命令面板(Windows/Linux 上为ctl + shift + P,mac 上为cmd + shift + P)并键入Python: Select Workspace Interpreter,您的所有环境都会显示出来,您可以选择要使用的环境。
还需要为 Select Workspace Interpreter 选项安装 python extension。
注意:使用当前版本的 VSCode,Select Workspace Interpreter 大约需要 10 秒才能出现在我的计算机上。
【讨论】:
Python: Select Interpreter
【讨论】:
{ "python.pythonPath": "/<proper path>/anaconda3/envs/${env:CONDA_DEFAULT_ENV}/bin/python" }。另外我必须在更改环境后重新打开 VS Code。
conda activate <your env> && which python
很遗憾,这不适用于 macOS。尽管我的 .zshrc 中有 export CONDA_DEFAULT_ENV='$HOME/anaconda3/envs/dev' 和我的 VSCode 首选项中有 "python.pythonPath": "${env.CONDA_DEFAULT_ENV}/bin/python",
,但即使我从设置了该变量的命令行启动了 VSCode,内置终端也不使用该环境的 Python。
【讨论】:
如果您的项目需要独立的环境: 使用 --prefix 选项将环境安装到项目文件夹:
conda create --prefix C:\your\workspace\root\awesomeEnv\ python=3
在 VSCode 的 launch.json 配置中,将“pythonPath”设置为:
"pythonPath":"${workspaceRoot}/awesomeEnv/python.exe"
【讨论】: