Python easy_install запутался в Mac OS X

18812
slf

Информация об окружающей среде:

$ which python /usr/bin/python $ python Python 2.6.1 (r261:67515, Jul 7 2009, 23:51:51)  [GCC 4.2.1 (Apple Inc. build 5646)] on darwin  $ echo $PATH /opt/local/bin:/opt/local/sbin:/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/X11R6/bin:/opt/local/bin:/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:~/.utility_scripts  $ which easy_install /usr/bin/easy_install 

В частности, давайте попробуем модуль simplejson (я знаю, что это то же самое, что импорт json в 2.6, но это не главное)

$ sudo easy_install simplejson Searching for simplejson Reading http://pypi.python.org/simple/simplejson/ Reading http://undefined.org/python/#simplejson Best match: simplejson 2.1.0 Downloading http://pypi.python.org/packages/source/s/simplejson/simplejson-2.1.0.tar.gz#md5=3ea565fd1216462162c6929b264cf365 Processing simplejson-2.1.0.tar.gz Running simplejson-2.1.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Ojv_yS/simplejson-2.1.0/egg-dist-tmp-AypFWa The required version of setuptools (>=0.6c11) is not available, and can't be installed while this script is running. Please install a more recent version first, using 'easy_install -U setuptools'.  (Currently using setuptools 0.6c9 (/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python)) error: Setup script exited with 2 

Хорошо, я обновлю setuptools ...

$ sudo easy_install -U setuptools Searching for setuptools Reading http://pypi.python.org/simple/setuptools/ Best match: setuptools 0.6c11 Processing setuptools-0.6c11-py2.6.egg setuptools 0.6c11 is already the active version in easy-install.pth Installing easy_install script to /usr/local/bin Installing easy_install-2.6 script to /usr/local/bin  Using /Library/Python/2.6/site-packages/setuptools-0.6c11-py2.6.egg Processing dependencies for setuptools Finished processing dependencies for setuptools 

Я не буду спекулировать, но это могло быть вызвано любым количеством изменений среды, таких как обновление Leopard -> Snow Leopard, обновления MacPorts или Fink или несколько обновлений Google App Engine.

3

2 ответа на вопрос

3
alcoholiday

Я следовал инструкциям на сайте ниже, что решило проблему для меня:

http://pypi.python.org/pypi/setuptools

А именно, загрузите соответствующую версию Python и запустите:

sh ./setuptools-0.6c11-py2.7.egg 
1
Eli James

По умолчанию OSX использует / usr / bin / easy_install для установки сторонних пакетов. Этот скрипт жестко запрограммирован для использования версии setuptools, которая старше, чем версия, требуемая pymongo для поддержки python2.7. Вы можете обойти это так:

$ easy_install -U setuptools $ python -m easy_install pymongo 

Для обновления сделайте:

$ python -m easy_install -U pymongo