0

Python 2.5-2.7 がインストールされた Mac OSX 10.7.5 を実行しています。私のアプリの依存関係の 1 つは 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

tarball を直接 easy_installing すると同じメッセージが表示されますが、インストールは成功します。これは 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'

(関連性があるかどうかはわかりませんが、可能性がある場合に備えて含めます。)

パッケージのインストールに失敗するのはなぜですか? どうすれば修正できますか?

いくつかのメモ:

  • install_requiresレシピ (zc.recipe.egg) を使用してパッケージを含めるか、setup.pyのリストにリストするかに関係なく、エラーが発生します。
  • パッケージが正常にダウンロードされました。インストール中にエラーが発生します。
  • Python 2.6 および 2.7 では、同じ構成が変更なしで機能します。

ありがとう!

4

2 に答える 2

2

新しい Bootsrtrap.py がリリースされ、古いものは機能しません。

python bootstrap.py -v 1.7.0 を試して、古いものを適切に実行するか、新しいものを使用してください

于 2013-02-11T21:33:19.797 に答える
1

@Cyril、あなたのソリューションは私にとってうまくいきました!ありがとう。

私は以前にこの問題を抱えていて、新しいbootstrap.pyファイルに交換することで修正できましたが、週末にビルドの一部が不思議なことに失敗し始めたので、この機会にわざわざbootstrap.pyを調べました.コード。

私が見つけたのは、バージョン ( zc.buildoutバージョン) を指定しない場合、bootstrap.py は最新のものをダウンロードすることです。これは、bootstrap.py バージョンと互換性がない可能性があります (多くないのは残念です)。これについては、より有益です)。

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

zc.buildout のバージョン 2.0がリリースされたばかりなので、最近このエラーが発生する人が何人かいると思います。bootstrap.py をダウンロードできる場所はいくつかありますが、公式のソースはhttp://downloads.buildout.org/です。モラルは、できれば最新の状態に保つことです。

于 2013-02-12T00:25:08.410 に答える