Visual Studio Code 中集成终端中的 PATH 变量与终端应用程序中的变量不同。我该如何改变它?
我正在使用来自英特尔 oneAPI 的英特尔 Python 分发版,并且我在我的
setvars.sh
中调用了 .zshrc
脚本和 conda 初始化代码。在 Mac 终端中,我可以正确激活 conda 环境。但是,在 VSC 的集成终端中,/usr/bin
文件夹列在 conda 文件夹之前,因此会调用系统 Python 解释。
编辑:我最初认为 Python 的英特尔发行版与此有关,但常规 Anaconda 发行版也会出现同样的问题。
看起来问题在于 Visual Studio Code 从终端继承了 PATH,但不知何故它重新排列了文件夹的顺序,这使 Anaconda 激活脚本感到困惑。由于我找不到解决方案,我通过在 Anaconda 初始化脚本之后将以下几行添加到我的
.zshrc
来实现解决方法:
# Workaround for Visual Studio Code integrated terminal
if [[ -v VSCODE_GIT_IPC_HANDLE ]]; then
conda deactivate
conda activate
fi
我不能 100% 确定正确的行为,因为我不使用 Mac,但您可以尝试从具有正确环境的终端启动 VS Code。 确保
code
在您的路径中,使用 https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line
然后确保计算机上的所有 VScode 会话均已关闭,并通过终端中的
code
启动它。
有这个问题,没有答案对我来说是正确的。
"terminal.integrated.inheritEnv": false
这是我完整的 vscode settings.json (如果有人没有看到在哪里或如何放置它):
{
"window.zoomLevel": 1,
"terminal.integrated.defaultProfile.osx": "zsh",
"terminal.integrated.inheritEnv": false,
"terminal.integrated.autoReplies": {
},
"terminal.integrated.automationProfile.osx": {
}
}
重新打开一个新终端,它就可以工作了(至少它在 vscode 和我的终端中打开了相同版本的 python)。