我尝试在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以下是我的看法:

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

然后为python版本添加符号链接。对我来说

$ cd /usr/local/bin
$ ln -s python3 python

拖鞋!

其他回答

不知道你说的默认Python是什么意思。我认为用不同的版本替换系统Python解释器是不好的做法。系统功能可能在某种程度上取决于系统Python和特定模块或特定的Python版本。相反,将您的自定义Python安装安装在一个安全的不同位置,并根据需要调整您的$PATH,以便通过路径查找调用您的Python,而不是寻找默认的Python。

Homebrew不会替换“/usr/bin”中的内容。你只需要把“/usr/local/bin”放在“/usr/bin”之前,然后“哪个python”会给你“/usr/local/bin/python”。

不建议替换/usr/bin/python(或/usr/bin/ruby)。

根据自制程序安装程序本身的建议,请务必将此添加到您的.bashrc或.zshrc:

export PATH="/usr/local/opt/python/libexec/bin:$PATH"

我相信有办法使自制python成为默认的,但在我看来,解决问题的正确方法是不要打乱系统python路径:最好是创建一个virtualenv,其中自制python将是默认的(通过使用virtualenv——python选项)。使用像python_select这样的工具几乎总是一个坏主意。

参见:如何在Homebrew中使用python符号链接?

$ brew link --overwrite python
Linking /usr/local/Cellar/python/2.7.3... 28 symlinks created
$ which python
/usr/local/bin/python