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 brew的味道是我的默认python?

正如你使用自制软件,下面的命令给出了一个更好的图像:

 brew doctor 

输出:

==> / usr / bin出现在/ usr / local / bin之前这意味着将使用系统提供的程序来代替Homebrew提供的程序。 这是一个问题,如果你例如。 brew安装Python。

考虑编辑你的.bashrc,把/ usr / local / bin放在$ PATH的/ usr / bin之前。

请参阅: 如何符号链接python在Homebrew?

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

快速解决:

  1. 打开/etc/paths
  2. 改变行的顺序(最高优先级)

在我的情况下, /etc/paths如下所示:

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

如果你想了解更多有关OSX的path,我发现这篇文章相当有用:

http://muttsnutts.github.com/blog/2011/09/12/manage-path-on-mac-os-x-lion/

Homebrew不会replace“/ usr / bin”中的内容。 你只要把“/ usr / local / bin”放在path的“/ usr / bin”之前,那么“哪个python”会给你“/ usr / local / bin / python”。

replace/ usr / bin / python(或/ usr / bin / ruby​​)是非常不推荐的。

修改你的$ PATH,在你的bashrc或bash_profile中join:

 export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH 

更多点击这里: 问题#89791

你需要编辑你的PATH环境variables,以确保在/ usr / bin之前search到了自制Python的位置。 你也可以在你的shellconfiguration文件中设置一个像PYTHON这样的variables来设置你想要的python版本,并从命令行调用$PYTHON而不是python

此外,正如另一张海报(特别是在Mac上)不要搞乱/ usr / bin中的python指向另一个python安装。 如果你这样做,你只是要求麻烦。

我没有brew install python ,我的$PATH是好的,但仍然, which python给我系统安装一个。 重新启动terminal固定它。

我相信有办法使自制软件python默认,但在我看来,解决问题的正确方法是不要混淆系统pythonpath:最好是创build一个virtualenv,其中自制软件python默认(通过使用virtualenv – -python选项)。 使用像python_select这样的工具几乎总是一个坏主意。

不知道你用默认的Python是什么意思。 我认为用不同的版本replace系统Python解释器是个不好的做法。 系统function可能在某些方面取决于系统的Python和特定的模块或特定的Python版本。 相反,将自定义Python安装安装在一个安全的地方,并根据需要调整$ PATH,以便通过path查找来调用Python而不是查找默认的Python。