我将从Linux切换到OSX,当我运行构建的setup.py脚本时,会收到包含文本的错误消息
此脚本需要setuptools版本0.6c7。
我已经多次尝试安装setuptools,并验证了/Library/Python/2.6/site-packages中存在setuptools egg。我不知道为什么不被人认出来。
发布于 2010-09-05 04:38:59
在OS系统上有多个版本的Python是很常见的。在最近发布的OS版本中,苹果自己发布了两个版本(/usr/bin版)。您可能已经使用来自python.org的安装程序(通常存在于/Library/Frameworks/Python.framework中)或使用包分发服务器(如MacPorts (安装在/opt/local/Library/Frameworks/Python.framework中))安装了更新的版本。请记住,每个版本的Python都需要自己的setuptools副本。
因为您报告的站点包路径是/Library/Python/2.6/site-packages,所以很可能您已经使用OSX10.6中苹果提供的Python2.6.1来尝试安装一个新版本的setuptools。请注意,苹果已经为它的Pythons提供了setuptools (在10.6中,0.6c9用于2.6.1 );相应的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')如果使用的是另一个非苹果提供的Python,请按照说明安装setuptools (或Distribute)的新版本,确保调用的是正确的Python版本。检查您的shell路径和which python以确保。
如果这没有帮助,更新您的问题与更多的信息。
更新:根据您的进一步评论,您的默认站点-包目录中似乎有问题。由于这个问题已经解决,并且已经确定苹果公司提供的setuptools版本0.6c9已经安装完毕,您要安装的包似乎正在寻找一个特定的、早期版本的setuptools,0.6c7。如果是这样的话,您应该首先确定为什么是这样,以及是否有必要。很可能它只是包的setup.py文件中的一个不正确的版本规范,即使用==而不是>=。如果可以,请编辑setup.py以便它可以使用较新的版本。在不太可能的情况下,包确实需要特定的旧版本的setuptools (甚至可能无法使用那个版本的Python或OS ),您可以尝试安装旧版本,如下所示:
$ 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中安装另一个旧版本的/usr/local/bin,并可能导致安装和使用其他软件包的问题。
发布于 2010-09-05 04:00:20
您试过在setup.py脚本中导入setuptools吗?
import setuptools这解决了我以前的一些工具构建问题。
https://stackoverflow.com/questions/3644917
复制相似问题