无法从 Visual Studio 代码激活环境

Cant activate environment from Visual Studio Code

我主要在 Spyder 中使用 Python 进行数据科学。 Visual Studio 代码和虚拟环境对我来说都是相当新的。

无论如何,使用 Visual Studio 代码中的终端我尝试在环境之间切换。 conda activate venvactivate venv 我都试过了。我没有收到任何错误消息,但使用 conda env list 查看哪个环境处于活动状态我似乎卡在了 Base.

在 Anaconda Prompt 中做同样的事情,我可以在环境之间切换。

我使用 Windows 并从 Anaconda Navigator 开始 Visual Studio 代码。

这是怎么回事?

确保您的二进制文件的 admin/elevation 是一致的。

如果 VSCode 未提升,但您的环境 Python 二进制文件提升,则它们将不会显示或无法从 VSCode 中选择。

这可能不是针对您的情况的精确修复,但如果您安装了多个 Python 版本并且例如您经常只使用其中一个,则很容易忘记。

您需要将 VScode 终端设置为 cmd.exe 而不是 PowerShell。

#########UPADTE##########

下面的解决方案已弃用,新的​​解决方案可以在文档中找到 here:

#########################

是如何更改您的默认终端,

或者您可以按如下方式更改 settings.json 文件:

"terminal.integrated.shell.windows": "C:\Windows\System32\cmd.exe"

来自documentation

Note: conda environments cannot be automatically activated in the integrated terminal if PowerShell is set as the integrated shell.

当我重新安装 anaconda 和 运行 到同一个问题时,我无法激活在 cmd 中正常工作的新创建的 env,在我尝试之后答案就摆在我面前:

  1. ctrl + shift +p 找到 settings.json,追加两行:"python.terminal.activateEnvironment": true, "terminal.integrated.shell.windows": "C:\WINDOWS\System32\cmd.exe",
  2. 选择运行终端中的任务

真的很有效,由于我的声望太低无法给英雄加分,所以我记录下来。 希望对你也有帮助!