Visual Studio Code 中的 PATH 变量与 Mac 上的终端不同

Posted

技术标签:

【中文标题】Visual Studio Code 中的 PATH 变量与 Mac 上的终端不同【英文标题】:PATH variable in Visual Studio Code different from Terminal on Mac 【发布时间】:2021-04-16 16:34:46 【问题描述】:

Visual Studio Code 中集成终端中的 PATH 变量与终端应用程序中的不同。怎么改?

我正在使用来自 Intel oneAPI 的 Intel Distribution for Python,我在 .zshrc 中调用了 setvars.sh 脚本和 conda 初始化代码。在 Mac 终端中,我可以正确激活 conda 环境。但是,在VSC的集成终端中,/usr/bin文件夹列在conda文件夹之前,因此调用了系统Python解释。

编辑:我最初认为 Python 的英特尔发行版与它有关,但普通的 Anaconda 发行版也会出现同样的问题。

【问题讨论】:

这两个在我的 linux 机器上是相同的,所以我不是最好的帮助:-P,但我怀疑 vscode 可能被配置为运行登录 shell,因此读取 ~/.profile 或~/.zprofile 而不是 ~/.zshrc 【参考方案1】:

看起来问题是 Visual Studio Code 从终端继承 PATH 但不知何故它重新排列了文件夹的顺序,这使 Anaconda 激活脚本感到困惑。由于找不到解决方案,我通过在我的 .zshrc 中添加以下行来实现解决方法,就在 Anaconda 初始化脚本之后:

# Workaround for Visual Studio Code integrated terminal
if [[ -v VSCODE_GIT_IPC_HANDLE ]]; then
    conda deactivate
    conda activate
fi

【讨论】:

【参考方案2】:

我不是 100% 确定正确的行为,因为我不使用 Mac,但您可以尝试从具有正确环境的终端启动 VS Code。 确保code 在您的PATH 中,https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line

然后确保在您的机器上关闭所有 VScode 会话并从终端通过code 启动它。

【讨论】:

我试过了,但没有任何区别。然而,我重新启动了我的笔记本电脑并收到了一条“Resolving Shell Environment is Slow”的消息,这让我看到了这篇文章:code.visualstudio.com/docs/supporting/… 不过信息量不是很大。

以上是关于Visual Studio Code 中的 PATH 变量与 Mac 上的终端不同的主要内容,如果未能解决你的问题,请参考以下文章

折叠 Visual Studio Code 中的所有方法 [重复]

Visual Studio Code 中的重复行

Visual Studio Code 中的高亮问题

Visual Studio Code 中的 Python 版本问题

如何从 Visual Studio Code 中的集成终端打开文件?

Visual Studio Code 中的远程调试