使用/ Python 2.5构建失败

时间:2012-12-05 16:13:16

标签: python setuptools buildout

我正在运行安装了Pythons 2.5-2.7的Mac OSX 10.7.5。我的应用程序的一个依赖是newrelic 1.9.0.13(位于here)。当我为Python 2.6或2.7进行引导和构建时,一切都完美无瑕;但是当我指定2.5:

[buildout]
...
python = python

[python]
executable = /usr/bin/python2.5

使用此配置,运行buildout失败,并显示以下错误:

Installing newrelic.
Getting distribution for 'newrelic==1.9.0.13'.
newrelic/lib/simplejson/_speedups.c: In function ‘encoder_listencode_obj’:
newrelic/lib/simplejson/_speedups.c:2263: warning: comparison of distinct pointer types lacks a cast
newrelic/lib/simplejson/_speedups.c:2263: warning: passing argument 2 of ‘PyType_IsSubtype’ from incompatible pointer type
zip_safe flag not set; analyzing archive contents...
newrelic.admin: module references __file__
newrelic.console: module references __file__
newrelic.bootstrap.sitecustomize: module references __file__
newrelic.core.environment: module references __file__
newrelic.core.thread_profiler: module references __file__
newrelic.lib.__init__: module references __path__
While:
  Installing newrelic.
  Getting distribution for 'newrelic==1.9.0.13'.
Error: Couldn't install: newrelic 1.9.0.13

easy_installing tarball直接生成相同的消息,但安装成功。这不是特定于newrelic包;如果我删除了那个依赖项,PIL也会发生同样的事情(再次,只有在使用Python 2.5时)。

如果我改用分布式,运行buildout时会出现不同的错误:

Traceback (most recent call last):
  File "./bin/buildout", line 17, in <module>
    import zc.buildout.buildout
  File "/Users/mjt/.buildout/eggs/zc.buildout-1.6.3-py2.7.egg/zc/buildout/buildout.py", line 40, in <module>
    import zc.buildout.download
  File "/Users/mjt/.buildout/eggs/zc.buildout-1.6.3-py2.7.egg/zc/buildout/download.py", line 20, in <module>
    from zc.buildout.easy_install import realpath
  File "/Users/mjt/.buildout/eggs/zc.buildout-1.6.3-py2.7.egg/zc/buildout/easy_install.py", line 75, in <module>
    pkg_resources.Requirement.parse('setuptools')
AttributeError: 'NoneType' object has no attribute 'location'

(我不确定这是否相关;我将其包括在内以防万一。)

为什么软件包无法安装,我该如何解决?

一对夫妇注意到:

  • 如果我使用配方(zc.recipe.egg)包含包或将其列在我的setup.py
  • install_requires列表中,则会发生错误
  • 包已成功下载;安装过程中发生错误。
  • 相同的配置在Python 2.6和2.7
  • 中没有变化

谢谢!

2 个答案:

答案 0 :(得分:2)

发布了新的Bootsrtrap.py,旧的无法正常工作。

尝试python bootstrap.py -v 1.7.0以正确运行旧版或使用new one

答案 1 :(得分:1)

@Cyril,您的解决方案对我很有用!感谢。

之前我遇到过这个问题,并且可以通过更换一个较新的bootstrap.py文件来解决这个问题,但是由于我的一些版本在周末开始神秘失败,在这个场合我困扰< / em>查看bootstrap.py代码。

我发现如果你没有指定版本(zc.buildout版本),bootstrap.py将下载最新版本,这可能与你的bootstrap.py版本不兼容(遗憾的是它不能是一个 LOT 更多关于此的信息。)

python bootstrap.py --version 1.7 # compatible zc.buildout version number

我敢说有些人最近会收到这个错误,因为zc.buildout的Version 2.0刚刚发布。您可以下载bootstrap.py的几个地方,但http://downloads.buildout.org/是官方来源。道德是,如果可以的话,让它保持最新。