【问题标题】:Setuptools not found未找到安装工具
【发布时间】:2011-04-08 09:04:45
【问题描述】:

我正在从 Linux 切换到 OSX,当我运行构建的 setup.py 脚本时,我收到一条包含文本的错误消息

此脚本需要 setuptools 版本 0.6c7。

我曾多次尝试安装 setuptools,并验证 setuptools egg 存在于 /Library/Python/2.6/site-packages 中。我不知道为什么它没有被识别。

【问题讨论】:

    标签: python macos setuptools setup.py


    【解决方案1】:

    您是否尝试在 setup.pyscript 中导入 setuptools?

    import setuptools
    

    这解决了我的 setuptool-ish 过去的构建问题。

    【讨论】:

    • 如果我打开 python shell 并导入 setuptools,我会收到以下消息:'zipimport.ZipImportError: can't decompress data; zlib 不可用'。我想念 Linux。
    【解决方案2】:

    在 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,并可能导致安装和使用其他软件包时出现问题。

    【讨论】:

    • 谢谢,我认为这是朝着正确的方向发展。我运行了你提供的命令,我得到了我在 MYYN 的答案中提到的 zlib 错误。
    • 这很奇怪。尝试暂时将 site-packages 目录移开:sudo mv /Library/Python/2.6 /Library/Python/2.6_DISABLED 并确保您没有设置 PYTHON*DYLD* 环境变量。并确保您的工作目录为空。然后试试上面的/usr/bin/python2.6 命令。
    • 好的,我刚刚再次运行命令并得到与您指定的完全相同的输出。但是,当我的 2.6 目录处于重命名状态时运行 setup.py 脚本会出现与我原来的帖子相同的错误。
    • 您的默认站点包目录似乎搞砸了。如果您已经安装了其他软件包,您可以尝试修复它,但此时最好将其清除并重新开始安装软件包,因此 sudo mv /Library/Python/2.6_DISABLED /Library/Python/2.6 ; sudo rm -r /Library/Python/2.6/* 然后看上面更新的答案。
    • 非常感谢内德。最终你是对的:这是一个复杂的路径问题。我确保所有内容都指向正确的位置,现在可以开始了。
    猜你喜欢
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 2019-02-27
    相关资源
    最近更新 更多