web-dev-qa-db-fra.com

Comment résoudre l'erreur pkg_resources.VersionConflict pendant le bootstrap.py bin / python -d

Je suis en train de créer un nouvel environnement plone en utilisant python plone-devstart.py. J'ai une erreur bootstrap. J'ai donc utilisé une commande bin/python bootstrap.py -d à partir de mon répertoire de projet. Il (commande bin/python bootstrap.py -d) fonctionnait bien avant Mais maintenant j'ai une erreur comme

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

Vous avez le distribute fork de setuptools installé dans vos packages de site, mais votre bootstrap.py essaie d'installer buildout 2.2.0, qui utilise le nouveau fusionné setuptools 0.7 ou un Egg plus récent.

La fourchette distribute de setuptools a été réintégrée dans le projet setuptools et la transition est source de douleur.

Vos options sont:

Dites à bootstrap d'utiliser une version antérieure zc.buildout version

Courir bootstrap.py avec le -v option, le forçant à s'en tenir à une version antérieure spécifique:

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

La version 2.1.1 de buildout ne se mettra pas à niveau vers 2.2 ou plus récent et fonctionne avec votre distribute- fourni setuptools Egg.

Désinstallez l'ancien distribute Egg

Supprimer manuellement tous les distribute*, pkg_resources.py* et setuptools* fichiers de votre site-packages répertoire:

$ 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*

et (éventuellement) réinstallez setuptools à partir de la dernière ez_setup.py; la version actuelle est 0.9.6, et la setuptools page PyPI vous relie à cette ez_setup.py version .

Vous devrez également mettre à jour votre bootstrap.py script, voir ci-dessous.

Utilisez un virtualenv récent

La version 1.9 ou plus récente de virtualenv (publiée en mars 2013) vous permet de créer un virtualenv sans l'œuf setuptools à l'aide de l'--no-setuptools commutateur:

$ virtualenv --no-setuptools buildout_env

Utilisez-le pour créer un env virtuel python pour exécuter votre bootstrap.py. Vous devez toujours mettre à jour votre bootstrap.py aussi. Voir ci-dessous.

Améliorez votre bootstrap.py.

Pour zc.buildout versions 2.2.0 et supérieures bootstrap.py le script a été mis à jour pour charger setuptools la version non fourchue. Prenez une nouvelle copie à depuis github (lien vers la version à 2 branches) , remplacez votre ancien bootstrap.py avec, et bootstrap encore.

Assurez-vous d'avoir supprimé l'ancien fork vraiment -distribute- mais-prétendant-être -setuptools Egg d'abord ou exécutez avec un env virtuel python that n'a pas cet œuf. Voir ci-dessus.

31
Martijn Pieters
50
Medhat Gayed