web-dev-qa-db-ja.com

bin / python bootstrap.py -d中のpkg_resources.VersionConflictエラーを解決する方法

python plone-devstart.pyツールを使用して、新しいPlone環境を作成しようとしています。bootstrap=エラーが発生しました。私のプロジェクトディレクトリからbootstrap.py -d It(bin/python bootstrap.py -d command)は以前はうまく機能していましたが、今では次のようなエラーが発生しました

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'))
30
Python Team

サイトパッケージにはdistributesetuptoolsフォークがインストールされていますが、bootstrap.pybuildout 2.2.0をインストールしようとしています。 マージ済みsetuptools 0.7以降の卵。

distributesetuptoolsフォークはsetuptoolsプロジェクトにマージされ、移行により多少の痛みが生じています。

オプションは次のとおりです。

bootstrapに以前のzc.buildoutバージョンを使用するように伝えます

bootstrap.pyオプションを指定して-vを実行し、特定の以前のバージョンに固執するようにします。

 $ bin/python bootstrap.py -d -v 2.1.1

Buildoutのバージョン2.1.1は、それ自体を2.2以降にアップグレードせず、distribute- supplied setuptools Eggで動作します。

古いdistribute Eggをアンインストールします

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で、 setuptools PyPIページthis ez_setup.py version にリンクしています。

bootstrap.pyスクリプトもアップグレードする必要があります。以下を参照してください。

最近のvirtualenvを使用

バージョン1.9以降のvirtualenv(2013年3月リリース)では、--no-setuptoolsスイッチを使用して、setuptools Eggなしでvirtualenvを作成できます。

$ virtualenv --no-setuptools buildout_env

これを使用して仮想envを作成しますpythonを使用してbootstrap.pyを実行します。引き続きbootstrap.pyもアップグレードする必要があります。以下を参照してください。

bootstrap.pyをアップグレードします。

zc.buildoutバージョン2.2.0以降では、bootstrap.pyスクリプトが更新され、setuptools the-not-forked-versionがロードされます。 githubから(2ブランチバージョンへのリンク) で新しいコピーを取得し、古いbootstrap.pyで置き換え、そしてbootstrapをもう一度。

古いフォークを本当に削除したことを確認してください-distribute-- but-pretending-to-be -setuptools Eggを最初に実行するか、仮想env python thatその卵を持っていません。上記を参照してください。

31
Martijn Pieters

また試すことができます:

pip install --upgrade setuptools

ここに記載されているとおり https://askubuntu.com/questions/318824/how-to-solve-pkg-resources-versionconflict-error-during-bin-python-bootstrap-py/322701#322701

50
Medhat Gayed