Ответ 1
Возможно, вы использовали easy_install
для установки pip
, и смесь обоих инструментов управления пакетами py привела к проблеме pkg_resources.DistributionNotFound
. Чтобы исправить это, запустите:
easy_install --upgrade pip
Обновлено до OSX Mavericks и все сломалось. Я попробовал трюк "sudo easy_install pip", и он, кажется, купит пип в другом месте:
Best match: pip 1.4.1
Processing pip-1.4.1-py2.7.egg
pip 1.4.1 is already the active version in easy-install.pth
Installing pip script to /Library/Frameworks/Python.framework/Versions/2.7/bin
Installing pip-2.7 script to /Library/Frameworks/Python.framework/Versions/2.7/bin
Using /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.4.1-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip
pip throws:
Traceback (most recent call last):
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module>
working_set.require(__requires__)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require
needed = self.resolve(parse_requirements(requirements))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve
raise DistributionNotFound(req) # XXX put more info here
pkg_resources.DistributionNotFound: pip==1.2.1
Возможно, вы использовали easy_install
для установки pip
, и смесь обоих инструментов управления пакетами py привела к проблеме pkg_resources.DistributionNotFound
. Чтобы исправить это, запустите:
easy_install --upgrade pip
Я бы очень рекомендовал использовать Homebrew - http://brew.sh/ для установки Python на OSX. "Пип" и "easy_install" настроены правильно, и вам никогда не придется использовать sudo
для установки каких-либо пакетов. Это один из основополагающих принципов Homebrew, который я люблю.
После перехода на Maverick откройте Xcode. Он должен предложить вам автоматически переустановить необходимые компоненты средств командной строки.
Затем используйте Homebrew, чтобы проверить: brew doctor
Вероятно, необходимо установить CLT, и в этом случае:
xcode-select --install
должен сделать это
easy_install -m pip
. Вам может понадобиться sudo easy_install -m pip
.Затем я сделал следующее:
brew install openssl
brew link openssl --force
brew uninstall python
brew install python --with-brewed-openssl
Это получилось обратно и запущено, как было установлено (re) с Python, используя Homebrew. Конечно, связывание openssl таким образом означает, что я олл-ин с Homebrew на Mac, и это нормально со мной!
Я бы посоветовал не устанавливать brew
или fink
или macports
только для дополнения или "исправления" пакетов, которые вы получаете от Apple, например Python. В конечном итоге вы управляете двумя программными средами, и всякий раз, когда вы обновляете любой из них, может произойти "интересное".
В этом конкретном случае решение Трина sudo easy_install --upgrade pip
представляется намного проще. Следовательно, +1 от меня: -)
Конечно, эти дополнительные среды могут быть полезны, если вы хотите установить (много) вещи, которые вы не получаете от Apple. Цена за оплату заключается в том, что тонкие взаимодействия между средами Apple и не Apple могут вызвать неприятные сюрпризы. См. Предупреждения в некоторых комментариях выше.
В конце дня это сводится к личным предпочтениям и приоритетам.
Ни один из ваших опубликованных решений не работал - я загрузил патч с официального сайта Python, который, я думаю, повторно установил его и, похоже, исправил его.