Easy_install и pip сломались: pkg_resources.DistributionNotFound: распространять == 0.6.36

Я попытался обновить pip с помощью pip install --upgrade pip на OSX, а pip и easy_install оба не работают.

При запуске pip

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 2881, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 596, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==1.3.1

При запуске easy_install

  File "/usr/local/bin/easy_install", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 2881, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 596, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: distribute==0.6.36

Как я могу это исправить?

UPDATE Я нашел решение.

Я сделал cd /usr/local/lib/python2.7/site-packages && ls

найдено pip-1.4.1-py2.7.egg-info и distribute-0.6.49-py2.7.egg в каталоге.

Затем были устранены следующие шаги.

  • Изменена версия протокола 1.4.1 в /usr/local/bin/pip

  • Изменена версия распространения до 0.6.49 в /usr/local/bin/easy_install


Ответы на другие подобные вопросы для завивки ez_setup.py и установки setuptools из него не работают. Это дало следующую ошибку.

Downloading https://pypi.python.org/packages/source/s/setuptools/setuptools-1.1.6.tar.gz
Traceback (most recent call last):
  File "<stdin>", line 370, in <module>
  File "<stdin>", line 366, in main
  File "<stdin>", line 278, in download_setuptools
  File "<stdin>", line 185, in download_file_curl
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 542, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['curl', 'https://pypi.python.org/packages/source/s/setuptools/setuptools-1.1.6.tar.gz', '--silent', '--output', '/usr/bin/setuptools-1.1.6.tar.gz']' returned non-zero exit status 23

Ответ 1

Если вы сделаете это, это будет работать:

cd /usr/local/lib/python2.7/site-packages && ls

Найдите pip-1.4.1-py2.7.egg-info и distribute-0.6.49-py2.7.egg в каталоге.

Затем следующие шаги исправили проблему:

  • Изменена версия протокола до 1.4.1 в /usr/local/bin/pip
  • Изменена версия распространения до 0.6.49 в /usr/local/bin/easy_install

Ответ 2

Установите дистрибутив следующим образом:

$ wget https://svn.apache.org/repos/asf/oodt/tools/oodtsite.publisher/trunk/distribute_setup.py
$ python distribute_setup.py

Тогда у вас будет рабочий easy_install.

Счастливое кодирование.

Ответ 3

Ни один из других ответов не работал у меня. Это было намного проще с этими инструкциями. Я установил дополнительную копию easy_install в /usr/local/bin/easy _install и/usr/local/bin/easy_install-2.7. Я почти уверен, что сделал это, следуя инструкциям здесь и в других местах. Решение для меня состояло в том, чтобы удалить эти два экземпляра:

rm /usr/local/bin/easy_install
rm /usr/local/bin/easy_install-2.7

а затем переустановите pip с помощью

sudo easy_install --upgrade pip

Некоторая предыстория: я добрался до этого момента после переустановки OSX.

Ответ 4

Какая оперативная система?

В любом случае вы должны попытаться сделать это:

sudo easy_install -U distribute

Возможно, это тоже полезно, но вы устанавливаете easy_install-2.7:

wget --no-check-certificate http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz
tar xf distribute-0.6.35.tar.gz
cd distribute-0.6.35
python2.7 setup.py install

Возможно, вам нужно принудительно обновить или переустановить easy_install, потому что это, кажется, ваша проблема.

Ответ 5

Просто укажем здесь еще раз, чтобы сделать решение более очевидным!

Просто выполнив команду sudo easy_install --upgrade pip, решила проблему для меня!

Ответ 6

Я был в середине перехода от системного python OSX к домашнему python и имел ту же ошибку. Модернизация версии homebrew python (запуск brew upgrade python) сделала это для меня.

Ответ 7

Кажется, что pip был установлен со ссылкой на новую версию python, в то время как ваш исполняемый исполняемый файл python все еще старый. Если вы хотите сохранить версию python старше, это довольно просто: переустановите pip с использованием старой версии.

  • Получить файл get-pip.py, который связан с https://pip.pypa.io/en/stable/installing/
  • Используя старую версию исполняемого файла python (я предполагаю, что это должна быть команда python), запустите script.

Если вы ищете ярлык: cd /tmp/ && wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py

script удаляет старые версии pip и правильно устанавливает новый исполняемый файл, ссылаясь на старую исполняемую среду python.

Ответ 8

Один из способов решения проблемы distributeNotFound - загрузить модуль python с точной версией. Раскройте его, перейдите в папку и установите "python setup.py install". Затем можно обновить его до последней версии.

У меня была ошибка 'pkg_resources.DistributionNotFound: дистрибутив' setuptools == 19.4 'не найден и требуется приложением'. Я загрузил setuptools v 19.4, когда v 36.2.7 уже вышел. Я установил v 19.4, а затем обновил команду "easy_install --upgrade setuptools". После этого все работало как прелесть.