[英]Visual Studio Code terminal doesn't activate Conda environment
我阅读了这篇关于类似问题的 Stack Overflow 帖子,但那里的建议似乎没有用。 我在我的 Windows 机器上安装了 Visual Studio Code,并添加了 Python 扩展。 然后我将项目的 Python 路径更改为C:\Users\username\.conda\envs\tom\python.exe
。 .vscode/settings.json
中有这个:
{
"python.pythonPath": "C:\\Users\\username\\.conda\\envs\\tom\\python.exe"
}
Visual Studio Code 中的状态栏还显示:
但是,当我在终端中执行 conda conda activate tom
之后执行conda env list
时,我得到了 output:
# conda environments:
#
base * C:\ProgramData\Anaconda3
tom C:\Users\username\.conda\envs\tom
代替:
# conda environments:
#
base C:\ProgramData\Anaconda3
tom * C:\Users\username\.conda\envs\tom
当我尝试python app.py
时,也不会导入未安装在 base 中的包。 我应该怎么办?
where python
运行的地方,但它不提供任何 output。
还,
import os
import sys
os.path.dirname(sys.executable)
给
'C:\\Python38'
首先,打开 Anaconda 提示符( How to access Anaconda command prompt in Windows 10 (64-bit) ),然后输入:
conda activate tom
激活您的虚拟环境。
然后要在此活动环境中打开 Visual Studio Code,请键入
code
它应该工作。
conda init
。这似乎是因为 Anaconda 安装建议不要将 windows PATH 更改为引用 anaconda,因为它可能与其他安装发生冲突,修改我的 PATH 时我没有问题。 似乎 vs 代码(或者很可能是 Python 扩展)本身仍然没有正确激活 anaconda。
它在 vscode 中对我有用
在vs代码中激活anaconda虚拟环境
conda init
conda info --envs
conda activate name_of_venv
很长一段时间我都面临同样的问题,但似乎没有任何效果。 不知何故,VS Code 在通知提示中建议了我以下内容:
我们注意到您正在使用 conda 环境。 如果您在集成终端中遇到此环境问题,我们建议您让 Python 扩展在您的用户设置中将“terminal.integrated.inheritEnv”更改为 false。
我yes
了它并开始工作。 您也可以在 settings.json 中手动设置,如下所示:
Shift + Command + P
打开命令面板。"terminal.integrated.inheritEnv": false
如果conda init
失败,可能不仅仅是搜索路径中缺少 conda 的问题。 在我的情况下,这是因为 PowerShell 没有加载profile.ps1
的权限,请参阅The term 'conda' is not Recognized as the name of a cmdlet 。
在这种情况下,如果您尚未这样做,请将PowerShell 7
与PowerShell 5
并行安装并填充C:\Users\USER\Documents\PowerShell\profile.ps1
#region conda initialize
# !! Contents within this block are managed by 'conda init' !!
(& "C:\Users\USER\anaconda3\Scripts\conda.exe" "shell.powershell" "hook") | Out-String | Invoke-Expression
#endregion
然后将新的 PowerShell 7 终端添加到 vscode,请参阅如何将 anaconda powershell 添加到 vscode? .
终端菜单:
每次打开PowerShell 7
时,您在 vscode 的状态栏中看到的 conda conda init
和所选 Python 解释器环境的激活都会自动运行。
我也遇到过类似的问题:在vscode终端可以激活虚拟环境,但是python版本没有切换。 解决办法是在vscode中对select“bash”,一切正常。
默认的PythonPath
插件现在不再使用 PythonPath(截至 2021 年)。 相反,您可以使用以下命令添加解释器路径:
conda activate <name of your env> && which python
{
"python.defaultInterpreterPath": "<Path to your env>",
}
(所有这些都假设您的 vscode 中没有其他混乱的设置。如果有,请查看此问题的其他答案)。
我已经尝试了大多数解决方案来解决问题。 然而,那些没有奏效。 按照上面“Sabito锖兎”所说的步骤。 最后,我解决了。
解决方案1:
terminal: select default profile
更改默认终端的另一种方法是(以防您忘记命令):
解决方案2:
Python: Select Interpreter
"python.terminal.activateEnvironment": true,
或者不存在,只要使参数为 true。现在,vscode 可以根据您的选择自动更改终端中的环境,如下所示。
CMD::::::::
当我选择base:conda时,我打开一个新终端。在控制台中,它显示
F:\GitHub\t>E:/Anaconda/Install/Scripts/activate
(base) F:\GitHub\t>conda activate base
(基础)F:\GitHub\t>
当我选择python3.8:conda时。 表明
F:\GitHub\t>E:/Anaconda/Install/Scripts/activate
(base) F:\GitHub\t>conda activate python3.8
(python3.8) F:\GitHub\t>
PowerShell:::::::
当我选择python3.8:conda时。 表明
(base) PS F:\GitHub\t> conda activate python3.8
(python3.8) PS F:\GitHub\t>
当我选择base:conda时,它显示
(base) PS F:\GitHub\t> conda activate base
(基础)PS F:\GitHub\t>
顺便说一句,输入这个小 window 太难了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.