在 OS X 系统上拥有多个 Python 版本是很常见的。在最近发布的 OS X 中,Apple 自己发布了两个版本(/usr/bin)。您可能已经使用来自 python.org 的安装程序(通常存在于 /Library/Frameworks/Python.framework 或使用像 MacPorts 之类的包分发器(安装在 /opt/local/Library/Frameworks/Python.framework)安装了更新版本。请记住,每个版本的 Python 都需要自己的setuptools.
由于您报告的站点包路径是/Library/Python/2.6/site-packages,因此您很可能在 OS X 10.6 中使用 Apple 提供的 Python 2.6.1 来尝试安装新版本的 setuptools。请注意,Apple 已经为其 Python 提供了setuptools(10.6 中的 2.6.1 为 0.6c9);对应的easy_install 命令在/usr/bin。
$ /usr/bin/python2.6 -c 'import setuptools;print(setuptools.__file__,setuptools.__version__)'
('/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/setuptools/__init__.pyc', '0.6c9')
如果您使用的是其他非 Apple 提供的 Python,请按照说明安装新版本的 setuptools(或 Distribute),确保您调用的是正确版本的 Python。检查您的 shell PATH 和 which python 以确保。
如果这没有帮助,请用更多信息更新您的问题。
更新:根据您进一步的 cmets,您的默认站点包目录中似乎有问题。解决了这个问题并确定安装了 Apple 提供的 setuptools 版本 0.6c9,您尝试安装的软件包似乎正在寻找特定的早期版本的 setuptools,0.6c7。如果是这种情况,您应该首先确定为什么会这样以及是否有必要。很可能它只是包的setup.py 文件中的一个不正确的版本规范,即使用== 而不是>=。如果可以,请编辑 setup.py 以便它可以使用更新的版本。万一包真的确实需要setuptools的特定旧版本(甚至可能不适用于该版本的Python或OS X),您可以尝试安装旧版本,如下所示:
$ sudo /usr/bin/easy_install-2.6 setuptools==0.6c7
$ /usr/bin/python2.6 -c 'import setuptools;print(setuptools.__file__,setuptools.__version__)'
('/Library/Python/2.6/site-packages/setuptools-0.6c7-py2.6.egg/setuptools/__init__.pyc', '0.6c7')
但您确实应该尽可能避免这样做,因为这会在/usr/local/bin 中安装另一个旧版本的easy_install,并可能导致安装和使用其他软件包时出现问题。