构建 Plone.4-3.14 给出 "need more than 0 values to unpack"

Building Plone.4-3.14 gives "need more than 0 values to unpack"

运行 使用 Plone-4.3.14-version-configs 构建时,会抛出以下错误。

Getting distribution for 'feedparser==5.0.1'.
error: Not a recognized archive type: /tmp/tmpuOPdYIget_dist/feedparser-5.0.1.tar.bz2
An error occurred when trying to install /tmp/tmpuOPdYIget_dist/feedparser-5.0.1.tar.bz2. Look above this message for any errors that were output by easy_install.
While:
  Installing instance.
  Getting distribution for 'feedparser==5.0.1'.

An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
  File "/home/ida/.virtenv/lib/python2.7/site-packages/zc/buildout/buildout.py", line 2127, in main
    getattr(buildout, command)(args)
  File "/home/ida/.virtenv/lib/python2.7/site-packages/zc/buildout/buildout.py", line 797, in install
    installed_files = self[part]._call(recipe.install)
  File "/home/ida/.virtenv/lib/python2.7/site-packages/zc/buildout/buildout.py", line 1557, in _call
    return f()
  File "/home/ida/.buildout/eggs/plone.recipe.zope2instance-4.2.22-py2.7.egg/plone/recipe/zope2instance/__init__.py", line 114, in install
    installed.extend(self.install_scripts())
  File "/home/ida/.buildout/eggs/plone.recipe.zope2instance-4.2.22-py2.7.egg/plone/recipe/zope2instance/__init__.py", line 618, in install_scripts
    requirements, ws = self.egg.working_set(['plone.recipe.zope2instance'])
  File "/home/ida/.buildout/eggs/zc.recipe.egg-1.3.2-py2.7.egg/zc/recipe/egg/egg.py", line 101, in working_set
    **kw)
  File "/home/ida/.virtenv/lib/python2.7/site-packages/zc/buildout/easy_install.py", line 924, in install
    return installer.install(specs, working_set)
  File "/home/ida/.virtenv/lib/python2.7/site-packages/zc/buildout/easy_install.py", line 726, in install
    for dist in self._get_dist(req, ws):
  File "/home/ida/.virtenv/lib/python2.7/site-packages/zc/buildout/easy_install.py", line 570, in _get_dist
    dists = [_move_to_eggs_dir_and_compile(dist, self._dest)]
  File "/home/ida/.virtenv/lib/python2.7/site-packages/zc/buildout/easy_install.py", line 1704, in _move_to_eggs_dir_and_compile
    [tmp_loc] = glob.glob(os.path.join(tmp_dest, '*'))
ValueError: need more than 0 values to unpack

花了点时间弄清楚原因,因为解释不在最后一条错误消息中,而是在前面的错误消息中: Not a recognized archive type,暗示 easy_install 无法处理 bunzip 文件。

这意味着安装 Python 时所需的系统包 bzip-devel 不存在。 因此,必须安装该软件包并再次安装 Python,或者在这种情况下还注释掉 feedparser 的引脚,这样构建 运行 就不会出错。

后来注意到 feedparser 不在 eggs-cache-dir 中,因为它曾经在另一个具有相同版本配置的构建中。乍看之下无法区分原因,但错误已解决。