2013-02-10 15 views
11

私は何の問題もなしにかなり長い間buildoutを使用しています。zc.buildoutが動作を停止しました:ImportError:モジュールがありません。apport.fileutils

しかし、今日私のプロジェクトはすべてビルドに失敗しています。私は同じ結果を持つ2つの異なるUbuntuワークステーションで試しました。

これは私が取得エラーです..

Initializing zc.buildout 
Debug: Downloading http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg 
Traceback (most recent call last): 
    File "bootstrap.py", line 259, in <module> 
    import zc.buildout.buildout 
    File "/tmp/tmpNkVMXW/zc.buildout-2.0.0-py2.7.egg/zc/buildout/buildout.py", line 18, in <module> 
    import zc.buildout.easy_install 
    File "/tmp/tmpNkVMXW/zc.buildout-2.0.0-py2.7.egg/zc/buildout/easy_install.py", line 59, in <module> 
    pkg_resources.Requirement.parse('distribute') 
AttributeError: 'NoneType' object has no attribute 'location' 
Error in sys.excepthook: 
Traceback (most recent call last): 
    File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 66, in apport_excepthook 
    from apport.fileutils import likely_packaged, get_recent_crashes 
ImportError: No module named apport.fileutils 

Original exception was: 
Traceback (most recent call last): 
    File "bootstrap.py", line 259, in <module> 
    import zc.buildout.buildout 
    File "/tmp/tmpNkVMXW/zc.buildout-2.0.0-py2.7.egg/zc/buildout/buildout.py", line 18, in <module> 
    import zc.buildout.easy_install 
    File "/tmp/tmpNkVMXW/zc.buildout-2.0.0-py2.7.egg/zc/buildout/easy_install.py", line 59, in <module> 
    pkg_resources.Requirement.parse('distribute') 
AttributeError: 'NoneType' object has no attribute 'location' 

それは何のモジュールの名前apport.fileutilsがないことに文句を言うが、私のpythonを実行し、それをインポートするとき、私は例外を取得していない:

from apport.fileutils import likely_packaged, get_recent_crashes 

答えて

24

2.0.0がリリースされました。古いbootstrap.pyは2.0.0と互換性がありませんが、デフォルトでダウンロードされます。 hereからv2 bootstrap.pyを入手するか、古いバージョンを使用したい場合は、以下のコードを使用してください。

python bootstrap.py -v 1.7.0 

編集:古いバージョンのv1 bootstrap.pyではバージョン強制が許可されていません。最新バージョンhereがあります。

+0

ありがとうございました。私は最初にbuildoutを2.0にアップグレードしましたが、多くの拡張が壊れているように見えるので、私は1.7をしばらく考えています。 –

+0

私はちょうど同じ問題に遭遇しました、あなたの役に立つ答えのおかげで!関連するもの:http://stackoverflow.com/questions/14817138/zc-buildout-2-0-0-release-somehow-ends-up-breaking-plone-3-3-buildouts –

0

質問+回答は2013年からです。最近(2015年)私は再びそれが起こったのを見ました。

ubuntuのpython-apportパッケージは/usr/lib/python2.7/dist-packages/apport_python_hook.pyファイルをインストールして、sys.excepthookを上書きするという問題があります。それは、Pythonのトレースバックがubuntuの "apport"エラー報告機構に供給されるようにします。

それ自体は問題ではありません。しかし、bootstrap.pyはpythonパスを制限していますので、フックはもうapportをインポートできません。

したがって、ブートストラップ実行中にエラーが発生すると、例外が出力されます。これは、apportをインポートできないためにもう一度失敗します。

解決策はsudo apt-get remove python-apportです。それは少なくとも私たちがサーバー上で行ったことです(どこでもapportが意味をなさない)。

関連する問題