我尝试在Mac OS X 10.6.2上切换到Homebrew(在使用fink和macport后)。我已经安装了python 2.7
brew install python
问题是,与Macport相反,似乎没有python_select实用程序,我的默认mac python总是默认的
which python
给我
/usr/bin/python
而且/usr/bin/python不是符号链接
我怎么做才能使python酿造风味成为我的默认python ?
我尝试在Mac OS X 10.6.2上切换到Homebrew(在使用fink和macport后)。我已经安装了python 2.7
brew install python
问题是,与Macport相反,似乎没有python_select实用程序,我的默认mac python总是默认的
which python
给我
/usr/bin/python
而且/usr/bin/python不是符号链接
我怎么做才能使python酿造风味成为我的默认python ?
当前回答
快速修复:
打开/etc/paths 更改行顺序(最高优先级在最上面)
在我的例子中,/etc/paths看起来像:
/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin
如果你想了解更多关于OSX中的路径,我发现这篇文章非常有用:
http://muttsnutts.github.com/blog/2011/09/12/manage-path-on-mac-os-x-lion/
其他回答
当你在使用Homebrew时,下面的命令会给你一个更好的画面:
brew doctor
输出:
==> /usr/bin出现在/usr/local/bin之前。这意味着系统提供的程序将被使用,而不是由 家酿。这是一个问题,如果你。brew安装Python。 考虑编辑.bash_profile,将:/usr/local/bin放在前面 /usr/bin
Homebrew不会替换“/usr/bin”中的内容。你只需要把“/usr/local/bin”放在“/usr/bin”之前,然后“哪个python”会给你“/usr/local/bin/python”。
不建议替换/usr/bin/python(或/usr/bin/ruby)。
您需要编辑您的PATH环境变量,以确保在/usr/bin之前搜索自制python所在的位置。你也可以在你的shell配置中设置一些东西,让一个像PYTHON这样的变量被设置为你想要的PYTHON版本,并从命令行调用$PYTHON而不是PYTHON。
另外,正如另一个帖子所述(特别是在mac上),不要混淆/usr/bin中的python,将其指向另一个python安装。你这样做是在自找麻烦。
将/usr/local/opt/python/libexec/bin显式添加到.bash_profile:
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
在那之后,它应该能正常工作。
Python公式现在使用python3(目前为v3.6.5), brew将链接目录:
/usr/local/opt/python -> ../Cellar/python/3.6.5
它还将链接二进制文件:
/usr/local/bin/python3 -> ../Cellar/python/3.6.5/bin/python3
如果仍然需要使用python2。x,使用:
brew install python@2
要使用homebrew的python,只需将其目录放在PATH中,用于bash:
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
鱼:
set -x PATH /usr/local/opt/python/libexec/bin $PATH
注意:
这样做将隐藏系统默认的python版本 在旧版本中,Homebrew曾经将python链接到/usr/local/share/python。