webdevqa.jp.net

Python Mac OSXでeasy_installが混乱している

環境情報:

$ 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モジュールを試してみましょう(2.6のimport jsonと同じことはわかっていますが、それは重要ではありません)

$ 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 AppEngineのアップデートなどの環境の変更が原因である可能性があります。

3
slf

以下のWebサイトの指示に従って、問題を解決しました。

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

つまり、適切なPythonバージョンをダウンロードして、次を実行します。

sh ./setuptools-0.6c11-py2.7.Egg
3
alcoholiday

デフォルトでは、OSXはサードパーティのパッケージのインストールに/ usr/bin/easy_installを使用します。このスクリプトは、pymongoがpython2.7をサポートするために必要なバージョンよりも古いバージョンのsetuptoolsを使用するようにハードコードされています。次のように回避できます。

$ easy_install -U setuptools
$ python -m easy_install pymongo

アップグレードするには:

$ python -m easy_install -U pymongo
1
Eli James