我一直在使用buildout很长一段时间没有任何问题,事实上我昨天没有任何问题。
但是今天我的所有项目都无法扩建。我尝试了两个不同的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
答案 0 :(得分:24)
2.0.0刚刚发布。旧的bootstrap.py与2.0.0不兼容,但默认情况下下载。你可以从here获取v2 bootstrap.py,或者如果你想坚持旧版本,可以使用下面的代码。
python bootstrap.py -v 1.7.0
编辑:旧版本的v1 bootstrap.py不允许版本强制。最新版本here可以。
答案 1 :(得分:0)
问题+回答是从2013年开始的。我最近(2015年)又看到了它。
问题是ubuntu的python-apport
包安装了覆盖/usr/lib/python2.7/dist-packages/apport_python_hook.py
的{{1}}文件。它确保python回溯被输入到ubuntu的“apport”错误报告机制中。
这本身不是问题。但是sys.excepthook
限制了python路径,因此钩子不能再导入bootstrap.py
......
因此,如果在引导程序运行期间发生错误,则会打印一个异常,然后第二次失败,因为无法导入apport。
解决方案可以是apport
。这至少就是我们在服务器上所做的事情(在任何情况下,让apport毫无意义)。