Python在Mac OS X上的安装问题

我一直在使用OS X Lion(2.7.2)附带的标准python,但是我想构build一个UCS-4版本来​​更好地处理4字节的unicode字符。

我已经安装了像pytz,virtualenv和virtualenvwrapper等pip和包,这些都安装在/Library/Python/2.7/site-packages 。 我的$PATH/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

为了在机器上构build一个新版本的python(在任何项目特定的虚拟环境之外,这将在后面提到),我按照本文中的说明操作,并设法将其构build在/usr/local/bin 。 问题是,当我启动一个新的bash窗口,我得到了以下virtualenvwrapper错误:

 Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named virtualenvwrapper.hook_loader virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenv has been installed for VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python and that PATH is set properly. 

指示说移动/usr/local/bin/etc/paths文件的顶部,从那以后我注意到了一些奇怪的问题。 我把pip安装到了/usr/local/bin ,现在我假定由于我在/usr/local/bin ,新安装的python站点包现在位于/usr/local/lib/python2.7/site-packages ,当我点击pip freeze ,它应该是空的,因为没有安装那里呢。 但是, pip freeze仍会报告安装在旧(OS X)站点包文件夹中的东西。 这是构build之后的一些信息:

 $ which python /usr/local/bin/python $ which pip /usr/local/bin/pip $ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 

当我用pip卸载一个python包时,它会按照预期将它从旧的site-packages文件夹中删除。 当我再次安装它时,不是将其安装在/usr/local/lib/python2.7/site-packages ,而是安装在/Library/Python/2.7/site-packages (通过尝试再次安装并接收Requirement already satisfied (use --upgrade to upgrade): pytz in /Library/Python/2.7/site-packages )。 它如何得到旧的网站包文件夹的path? 为什么不把它安装在它正在使用的Python安装的正确位置?

自从升级/usr/local/bin以来,我遇到了其他一些问题,但是如果我理解了这一点,我将能够find某个地方。

任何人都可以看到发生了什么? 如果您需要更多信息,我会很乐意提供。

原来, /usr/local/bin/pip中的shebang是#!/usr/bin/python 。 所以pip使用错误的python,因此错误的site-packages文件夹。

我结束了大部分的工作,并使用pythonbrew来安装一个新的Python,然后从头开始。