我正在尝试使用python plone-devstart.py工具创建一个新的plone环境。我遇到了引导错误。所以我从项目目录中使用了命令bin / python bootstrap.py -d。它(bin / python bootstrap.py -d命令)之前工作正常,但是现在我收到了类似的错误
oomsys@oomsysmob-6:~/demobrun$ bin/python bootstrap.py -d Downloading http://pypi.python.org/packages/source/d/distribute/distribute- 0.6.49.tar.gz Extracting in /tmp/tmpDqVwYA Now working in /tmp/tmpDqVwYA/distribute-0.6.49 Building a Distribute egg in /tmp/tmpv4Bzyv /tmp/tmpv4Bzyv/distribute-0.6.49-py2.7.egg Traceback (most recent call last): File "bootstrap.py", line 118, in <module> ws.require('zc.buildout' + VERSION) File "build/bdist.linux-i686/egg/pkg_resources.py", line 698, in require File "build/bdist.linux-i686/egg/pkg_resources.py", line 600, in resolve pkg_resources.VersionConflict: (setuptools 0.6c11 (/home/oomsys/demobrun /lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg), Requirement.parse('setuptools>=0.7'))
您已经在站点软件包distribute中setuptools安装了fork ,但是您bootstrap.py正在尝试安装buildout2.2.0,它使用新的 合并的 setuptools0.7或更新的egg。
distribute
setuptools
bootstrap.py
buildout
的distribute分支setuptools已合并到setuptools项目中,并且过渡引起一些麻烦。
您的选择是:
bootstrap
zc.buildout
bootstrap.py使用该-v选项运行,强制其坚持使用特定的早期版本:
-v
$ bin/python bootstrap.py -d -v 2.1.1
2.1.1版的扩展版不会自行升级到2.2或更高版本,并且可以与您distribute提供的setuptoolsegg一起使用。
手动删除所有distribute*,pkg_resources.py*并setuptools*从文件site-packages目录:
distribute*
pkg_resources.py*
setuptools*
site-packages
$ rm -rf /home/oomsys/demobrun/lib/python2.7/site-packages/setuptools* $ rm -rf /home/oomsys/demobrun/lib/python2.7/site-packages/distribute* $ rm -rf /home/oomsys/demobrun/lib/python2.7/site-packages/pkg_resources.py*
和(可选)setuptools从最新版本重新安装ez_setup.py;当前版本是0.9.6,并且setuptoolsPyPI页面将您链接到该ez_setup.py版本。
ez_setup.py
您还需要升级bootstrap.py脚本,请参见下文。
virtualenv
1.9版或更高版本virtualenv(发布于2013年3月)使您可以setuptools使用--no- setuptools开关创建一个没有鸡蛋的virtualenv :
--no- setuptools
$ virtualenv --no-setuptools buildout_env
使用它来创建一个虚拟env python来运行您的bootstrap.py。您仍然还需要升级bootstrap.py。见下文。
对于zc.buildout版本2.2.0及更高版本,bootstrap.py脚本已更新,可以加载setuptools非分支版本。从github获取一个新副本(链接到2分支版本),将其替换为旧版本bootstrap.py,然后再次引导。
确保确保先删除了旧的分叉的,distribute但setuptools实际上是假装的,或者使用没有该鸡蛋的虚拟env python运行。往上看。