在我的macOS计算机上,我在/ usr / local / bin中使用Homebrew安装了python。在一个新开的终端,我有
$ echo $PATH | sed 's/:/\n/g'
/usr/local/mysql/bin
/usr/local/bin
/Users/qazwsx/.local/bin
/Library/TeX/texbin
/Applications/Xcode.app/Contents/Developer/usr/bin
/Users/qazwsx/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/sbin
正如您所见,/ usr / local / bin出现在/ usr / bin之前。但不知何故python找到默认的!?为什么呢?
$ which python
/usr/bin/python
答案 0 :(得分:2)
/usr/local/bin/python
可能不存在。我注意到最近在我的macOS计算机上,在我升级Homebrew之后,不再有/usr/local/bin/python
。当我使用brew reinstall python
重新安装python时,它警告将/usr/local/opt/python/libexec/bin/
添加到$PATH
。重新安装后,确实有/usr/local/opt/python/libexec/bin/python
但不再是/usr/local/bin/python
。取而代之的是/usr/local/bin/python2
和/usr/local/bin/python3
。
答案 1 :(得分:-2)
解决这个问题的方法是重命名旧的python并为你的版本创建一个符号链接。
mv /usr/bin/python /usr/bin/python.0
ln -s /usr/local/bin/python /usr/bin/python
至于为什么它没有违约,不确定。它可能是很多东西..也许在列表中较高的另一个目录中有一个符号链接到python,which
命令可能使用不同的路径,或者你从另一个shell调用它具有不同路径设置的环境?