使用VSCode集成终端时,PATH出现问题。我的~/.bash_profile
包含用于设置PATH和别名的Conda初始化代码。
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/nrosenstein/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/nrosenstein/miniconda3/etc/profile.d/conda.sh" ]; then
. "/Users/nrosenstein/miniconda3/etc/profile.d/conda.sh"
else
export PATH="/Users/nrosenstein/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
如果Conda已在其中,则似乎此位不会修改。
我在~/.bash_profile
的开头中添加了这行:
tr ':' '\n' <<< "$PATH"
打开macOS终端,我看到了我期望的结果:
BEGINNING
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/go/bin
END
/Users/nrosenstein/miniconda3/bin
/Users/nrosenstein/miniconda3/condabin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/go/bin
但是在新的VSCode终端中,我看到了
BEGINNING
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/go/bin
/Users/nrosenstein/miniconda3/bin
/Users/nrosenstein/miniconda3/condabin
/usr/local/sbin
/Applications/Visual Studio Code.app/Contents/Resources/app/bin
/usr/local/gnupg-2.2/bin
END
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/go/bin
/Users/nrosenstein/miniconda3/bin
/Users/nrosenstein/miniconda3/condabin
/usr/local/sbin
/Applications/Visual Studio Code.app/Contents/Resources/app/bin
/usr/local/gnupg-2.2/bin
在VSCode中,Miniconda已位于~/.bash_profile
开头的PATH中。如果它位于PATH的开头,这不是问题,但是由于它遵循/usr/bin
,因此python
始终是系统Python版本,而不是Conda环境中的版本。
为什么这些路径已经在VSCode中?我该如何解决?