为什么我的python可执行文件不默认为/ usr / local / bin?

时间:2017-07-20 22:47:54

标签: python macos configuration path homebrew

在我的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

2 个答案:

答案 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调用它具有不同路径设置的环境?