我尝试在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/

其他回答

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

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

使用pyenv来安装和切换Python版本。我多年来一直在使用rbenv,它做同样的事情,但用于Ruby。在此之前,它是地狱管理版本。

查阅pyenv的github页面以获得安装说明。基本上是这样的: -使用自制程序安装pyenv。酿造安装pyenv -在你的shell启动脚本的末尾添加一个函数,这样pyenv就可以做它的魔法了。Echo -e 'if command -v pyenv 1>/dev/null 2>&1;\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

使用pyenv来安装你需要的不同版本的Python。Pyenv安装3.7.7。 将默认(全局)版本设置为刚刚安装的现代版本。Pyenv全局3.7.7。 如果您从事的项目需要使用不同版本的python,请查看pyevn local。这将在项目的文件夹中创建一个指定python版本的文件。Pyenv会用该文件中的版本重写全局python版本。

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

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

如果你是鱼壳

echo 'set -g fish_user_paths "/usr/local/opt/python/libexec/bin" $fish_user_paths' >> ~/.config/fish/config.fish

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

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