Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决bin/python bootstrap.py-d期间pkg_resources.VersionConflict错误_Python_Setuptools_Buildout - Fatal编程技术网

如何解决bin/python bootstrap.py-d期间pkg_resources.VersionConflict错误

如何解决bin/python bootstrap.py-d期间pkg_resources.VersionConflict错误,python,setuptools,buildout,Python,Setuptools,Buildout,我正在尝试使用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/s

我正在尝试使用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'))
oomsys@oomsysmob-6:~/demobrun$bin/python bootstrap.py-d
正在下载http://pypi.python.org/packages/source/d/distribute/distribute-  
0.6.49.tar.gz
在/tmp/tmpDqVwYA中提取
现在正在/tmp/tmpDqVwYA/distribute-0.6.49中工作
在/tmp/tmpv4Bzyv中构建分发鸡蛋
/tmp/tmpv4Bzyv/distribute-0.6.49-py2.7.egg
回溯(最近一次呼叫最后一次):
文件“bootstrap.py”,第118行,在
ws.require('zc.buildout'+版本)
文件“build/bdist.linux-i686/egg/pkg_resources.py”,第698行,在require中
文件“build/bdist.linux-i686/egg/pkg_resources.py”,第600行,解析
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
,但是您的
bootstrap.py
正在尝试安装
buildout
2.2.0,它使用新的合并
setuptools
0.7或更新版本

setuptools
distribute
分支被重新合并到
setuptools
项目中,该转换引起了一些麻烦

你的选择是:

告诉
bootstrap
使用早期的
zc.buildout
版本 使用
-v
选项运行
bootstrap.py
,强制它使用特定的早期版本:

 $ bin/python bootstrap.py -d -v 2.1.1
buildout的2.1.1版不会将自身升级到2.2或更高版本,并与您的
发行版
提供的
设置工具
一起使用

卸载旧的
distribute
egg 从您的
网站包
目录中手动删除所有
distribute*
pkg\u resources.py*
setuptools*
文件:

$ 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*
和(可选)使用最新的
ez_setup.py
从重新安装
setuptools
;当前版本为0.9.6,并且提供了指向的链接

您还需要升级
bootstrap.py
脚本,请参见下文

使用最近的
virtualenv
virtualenv
(2013年3月发布)的1.9版或更高版本允许您使用
--无设置工具开关创建不带
setuptools
egg的virtualenv:

$ virtualenv --no-setuptools buildout_env
使用它创建一个虚拟环境python来运行
bootstrap.py
。您还需要升级
bootstrap.py
。见下文

升级您的
bootstrap.py
。 对于
zc.buildout
2.2.0版及以上版本,已更新
bootstrap.py
脚本以加载
setuptools
非分叉版本。在获取一个新副本,用它替换旧的
bootstrap.py
,然后再次引导

一定要先删除旧的forked really-
distribute
,但要假装是-
setuptools
egg,或者使用没有该egg的虚拟环境python运行。请参见上文。

您也可以尝试:

pip install --upgrade setuptools

如本文所述

谢谢Martijn。您推荐的后续选项是什么?我已经卸载了
distribute
,并在任何地方使用了较新的
setuptools
,但我目前几乎没有遗留项目(旧代码)。你的情况可能会有所不同。这对我很有帮助,而且比上面的建议快得多。。。在我的案例中需要一个sudo这对我来说很有效,但不需要
sudo
,因为我在一个虚拟环境中操作。我的错误:`File”/usr/lib/python2.6/site packages/pip/_internal/index.py',第536行{str str(c.version)for c in all_candidates},^SyntaxError:无效语法