Ошибка сборки с Python 2.5

Я использую Mac OSX 10.7.5 с установленными Pythons 2.5-2.7. Одной из зависимостей моего приложения является newrelic 1.9.0.13 (расположенная по адресу здесь). Когда я выполняю начальную загрузку и сборку для 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).

Если вместо этого я использую Distribution, я получаю другую ошибку при запуске 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) или перечисляю его в списке install_requires моего файла setup.py.
  • Пакет успешно загружен; ошибка возникает при установке.
  • Тот же конфиг работает без изменений в Python 2.6 и 2.7

Спасибо!


person matthewwithanm    schedule 05.12.2012    source источник


Ответы (2)


Выпущен новый Bootsrtrap.py, а старый не работает.

попробуйте python bootstrap.py -v 1.7.0, чтобы правильно запустить старую версию, или используйте новую

person Cyril    schedule 11.02.2013

@Кирилл, твое решение отлично сработало для меня! Спасибо.

У меня была эта проблема раньше, и я смог решить ее, заменив файл bootstrap.py на более новый, но поскольку некоторые из моих сборок начали загадочно давать сбой на выходных, в этом случае я побеспокоился посмотреть на код bootstrap.py.

Я обнаружил, что если вы не укажете версию (версию zc.buildout), bootstrap.py загрузит последнюю версию, которая может быть несовместима с вашей версией bootstrap.py (жаль, что это не может быть < em>НАМНОГО больше информации об этом).

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

Осмелюсь предположить, что в последнее время несколько человек получат эту ошибку, потому что Версия 2.0 zc.buildout был только что выпущен. Есть несколько мест, где вы можете скачать bootstrap.py, но http://downloads.buildout.org/ — это официальный источник. Мораль такова: держите его в курсе, если можете.

person steevee    schedule 12.02.2013