2013-02-10 142 views
11

我一直在使用buildout很長一段時間沒有任何問題,事實上我昨天沒有任何問題。zc.buildout停止工作:ImportError:沒有名爲apport.fileutils的模塊

但是,就像今天我所有的項目都沒有建立起來一樣。我試着在兩個不同的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

謝謝你,工作。我最初雖然我會升級到2.0 ..但它似乎打破了很多擴展,所以我會堅持1.7一段時間,我認爲。 – 2013-02-11 02:21:43

+0

我剛碰到同樣的問題,謝謝你的幫助!也有關於:http://stackoverflow.com/questions/14817138/zc-buildout-2-0-0-release-somehow-ends-up-breaking-plone-3-3-buildouts – 2013-02-12 14:31:28

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都沒有意義)。

相關問題