今天,在生产机器上部署一个安全修补程序,zc.buildout就会随机中断。我已经试着升级pip了,但这仍然不能解决问题。
$ ./bin/buildout
mr.developer: Queued 'django-appregister' for checkout.
mr.developer: Queued 'django-countries' for checkout.
mr.developer: Queued 'django-mailer' for checkout.
mr.developer: Queued 'django-ostinato' for checkout.
mr.developer: Skipped checkout of existing package 'django-appregister'.
mr.developer: Skipped checkout of existing package 'django-countries'.
mr.developer: Skipped checkout of existing package 'django-mailer'.
mr.developer: Skipped checkout of existing package 'django-ostinato'.
Develop: '/home/evopoints/webapp/src/django-ostinato'
/usr/lib/python2.7/dist-packages/setuptools/dist.py:364: UserWarning: Normalizing '1.1.beta' to '1.1b0'
normalized_version,
warning: no previously-included files matching '*.pyc' found anywhere in distribution
Develop: '/home/evopoints/webapp/src/django-mailer'
Develop: '/home/evopoints/webapp/src/django-countries'
Develop: '/home/evopoints/webapp/src/django-appregister'
/usr/lib/python2.7/dist-packages/setuptools/dist.py:364: UserWarning: Normalizing '0.4.dev' to '0.4.dev0'
normalized_version,
Unused options for buildout: 'include-site-packages' 'unzip'.
Updating _mr.developer.
Installing python.
While:
Installing python.
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/evopoints/webapp/eggs/zc.buildout-2.9.4-py2.7.egg/zc/buildout/buildout.py", line 2123, in main
getattr(buildout, command)(args)
File "/home/evopoints/webapp/eggs/zc.buildout-2.9.4-py2.7.egg/zc/buildout/buildout.py", line 796, in install
installed_files = self[part]._call(recipe.install)
File "/home/evopoints/webapp/eggs/zc.buildout-2.9.4-py2.7.egg/zc/buildout/buildout.py", line 1553, in _call
return f()
File "/home/evopoints/webapp/eggs/zc.recipe.egg-2.0.3-py2.7.egg/zc/recipe/egg/egg.py", line 126, in install
reqs, ws = self.working_set()
File "/home/evopoints/webapp/eggs/zc.recipe.egg-2.0.3-py2.7.egg/zc/recipe/egg/egg.py", line 84, in working_set
allow_hosts=self.allow_hosts)
File "/home/evopoints/webapp/eggs/zc.buildout-2.9.4-py2.7.egg/zc/buildout/easy_install.py", line 913, in install
return installer.install(specs, working_set)
File "/home/evopoints/webapp/eggs/zc.buildout-2.9.4-py2.7.egg/zc/buildout/easy_install.py", line 657, in install
for spec in specs]
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2879, in parse
req, = parse_requirements(s)
ValueError: need more than 0 values to unpack为什么这种情况是随机发生的?(这已经不是第一次了)现在我不得不完全放弃构建,因为它太不可靠了,客户端生产站点在他的站点代码中的一个小补丁中会随机失败。
发布于 2018-12-20 14:42:58
如果使用-vvvv运行buildout,您可能会看到实际的错误。在我的经验中,“需要超过0的值才能解压”错误有时会发生在下载某些内容时出现错误。
还可以帮助您升级setuptools和zc.buildout的版本(2.12.0已经退出,您正在使用2.9.4)。为了补偿环境中的变化(最常见的是setuptools中的更改),需要构建大量的修补程序。
注意,pypi也移动了。从http到https,从pypi.python.org到pypi.org。因此,调整您的index=行(如果有)可能会节省一堆重定向,这也可以工作。
在过去的几个月里,我没有看到任何严重的建筑破损,至少github问题跟踪器已经安静下来了:-)
发布于 2018-12-19 14:49:35
将interpreter选项从python改为python2.7帮助我在类似的情况下:
[buildout]
parts =
python
[python]
# ...
interpreter = python2.7https://stackoverflow.com/questions/45435023
复制相似问题