在iTerm中运行echo "${PATH//:/\n}"
时,我得到
/usr/local/miniconda3/envs/te/bin
/Users/<user>/.nvm/versions/node/v10.11.0/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
(顺便说一句,我在conda activate te
中有~/.zshrc
。)在VS Code中,输出相同的命令
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/miniconda3/envs/te/bin
/Users/<user>/.nvm/versions/node/v10.11.0/bin
这引起了问题,因为python
和conda
引用了VS Code内部和外部的不同二进制文件。在外面,我得到了预期的python3
,而在VS Code python
中是macOS股票python2
。
我认为路径重新排序的原因是described here:
为了在$ PATH上获得开发工具,VS Code将 启动时启动bash登录shell。这意味着您 〜/ .bash_profile已经运行,以及何时集成终端 启动后,它将运行另一个登录shell,对$ PATH重新排序 可能以意想不到的方式。
有什么办法可以防止这种情况的发生而无需更改
"terminal.integrated.shellArgs.osx": ["-l"],
到
"terminal.integrated.shellArgs.osx": [],
我需要登录Shell,即运行~/.zprofile
以启用conda
,
. /usr/local/miniconda3/etc/profile.d/conda.sh