Подтвердить что ты не робот

Как решить проблему pkg_resources.VersionConflict во время bin/python bootstrap.py -d

Я пытаюсь создать новую среду plone, используя инструмент poneon plone-devstart.py. Я получил ошибку начальной загрузки. Поэтому я использовал команду bin/python bootstrap.py -d из моего каталога проектов. Он (bin/python bootstrap.py -d-команда) отлично работал до этого. Но теперь я получил ошибку, например

[email protected]:~/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'))
4b9b3361

Ответ 1

У вас есть distribute fork setuptools, установленный в пакетах вашего сайта, но ваш bootstrap.py пытается установить buildout 2.2.0, в котором используется новое объединенное setuptools 0.7 или более новое яйцо.

Форк distribute setuptools был снова объединен с проектом setuptools, и переход вызывает некоторую боль.

Ваши варианты:

Скажите bootstrap использовать более раннюю версию zc.buildout

Запустите bootstrap.py с опцией -v, заставив ее придерживаться определенной более ранней версии:

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

Версия 2.1.1 buildout не будет обновляться до версии 2.2 или выше и будет работать с вашим distribute -supplied setuptools яйцом.

Удалите старое distribute яйцо

Вручную удалите все файлы 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 связывает вас с эту ez_setup.py версию.

Вам также потребуется обновить bootstrap.py script, см. ниже.

Использовать недавний virtualenv

Версия 1.9 или новее virtualenv (выпущена в марте 2013 г.) позволяет создавать виртуальный диск без яйца setuptools с помощью переключателя --no-setuptools:

$ virtualenv --no-setuptools buildout_env

Используйте это для создания виртуального env python для запуска bootstrap.py. Вам еще нужно обновить ваш bootstrap.py. См. Ниже.

Обновите свой bootstrap.py.

Для zc.buildout версий 2.2.0 и bootstrap.py script была обновлена, чтобы загрузить setuptools не-forked-версию. Возьмите новую копию в из github (ссылка на версию с двумя ветками), замените ее старым bootstrap.py на нее и загрузите снова.

Удостоверьтесь, что сначала вы удалили старое раздвоенное действительно- distribute -but-pretending-to-be- setuptools яйцо или запустили виртуальный env python, у которого нет этого яйца. См. Выше.