2011-08-06 12 views
2

私は、OS X Lionでpython/numpy/scipyの作業環境を稼働させようとしています。os x lion on scipy

tobi-mbp:~ tobi$ python 
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

私はすでに通常の

python setup.py build 
python setup.py install 

で彼らの最新のソースコードのバージョンからnumpyのscipyのダウンロードとコンパイルするために管理してきた私はpython.orgからダウンロードしたPythonの2.7.2バージョンを実行します

私は輸入numpyのよりも、それが表示されている場合:numpyのの

>>> import numpy 
>>> numpy.__version__ 
'1.5.1' 
>>> numpy.__file__ 
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/__init__.pyc' 
>>> 

システムインスタレーション。一方、

>>> import scipy 
>>> scipy.__version__ 
'0.10.0.dev' 
>>> scipy.__file__ 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/__init__.pyc' 
>>> 

は、インストール済みのscipyを提供します。つまり、scipy.test()が失敗し、実際にはスタックされません。

私はpipとeasy_installも試しましたが、scipyをコンパイルするのに失敗し、numpyと同じ奇妙なbahavior occoursが発生しました。 sourcefourgeで提供されるプリコンパイルされたバイナリと同じです。このよう

PYTHONPATHの問題のようだ:

>>> import sys, os, pprint 
>>> pprint.pprint(sys.path) 
['', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.19-py2.7.egg', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', 
'/Library/Python/2.7/site-packages/nose-1.1.2-py2.7.egg', 
'/Library/Python/2.7/site-packages/pip-1.0.2-py2.7.egg', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages', 
'/Library/Python/2.7/site-packages'] 
>>> pprint.pprint([p for p in os.environ.items() if p[0].startswith('PYTHON')]) 
[] 
>>> 

とサイトパッケージの内容のリスト

tobi-mbp:site-packages tobi$ ls -l 
total 752 
-rw-rw-r-- 1 root admin  119 12 Jun 00:25 README 
drwxr-xr-x 10 root admin  340 6 Aug 19:47 distribute-0.6.19-py2.7.egg 
-rw-r--r-- 1 tobi admin  237 6 Aug 19:48 easy-install.pth 
drwxrwxr-x 48 tobi admin 1632 6 Aug 18:19 numpy 
drwxrwxr-x 6 tobi admin  204 20 Jul 20:44 numpy-1.6.1-py2.7.egg-info 
-rw-r--r-- 1 root admin 1670 6 Aug 18:19 numpy-2.0.0.dev_26aa3cf-py2.7.egg-info 
drwxr-xr-x 4 root admin  136 6 Aug 19:48 pip-1.0.2-py2.7.egg 
drwxr-xr-x 8 tobi admin  272 6 Aug 19:48 readline-6.2.0-py2.7.egg-info 
-rwxr-xr-x 1 tobi admin 357048 6 Aug 19:48 readline.so 
drwxrwxr-x 42 tobi admin 1428 6 Aug 18:21 scipy 
-rw-r--r-- 1 root admin 1768 6 Aug 18:21 scipy-0.10.0.dev-py2.7.egg-info 
drwxrwxr-x 6 tobi admin  204 27 Feb 14:00 scipy-0.9.0-py2.7.egg-info 
-rw-r--r-- 1 tobi admin  144 6 Aug 19:47 setuptools-0.6c11-py2.7.egg-info 
-rw-r--r-- 1 tobi admin  30 6 Aug 19:47 setuptools.pth 

tobi-mbp:site-packages tobi$ more easy-install.pth 
import sys; sys.__plen = len(sys.path) 
./distribute-0.6.19-py2.7.egg 
./pip-1.0.2-py2.7.egg 
import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new) 

tobi-mbp:site-packages tobi$ more setuptools.pth 
./distribute-0.6.19-py2.7.egg 

私は今、パスにシステムエクストラフォルダを参照しています問題はなぜ、どのように私はそれを取り除くことができます。あなたの助けのための

おかげ

歓声トビ

+0

'scripy.test()'を実行するとscipyのソースツリーにいませんか? – EdoDodo

+0

いいえ、テストを実行するとホームディレクトリにいます。古い(1.5.1)バージョンのnumpyを使用しているため、 'scipy.test()'が失敗すると思います。 – tobi

答えて

2

どこかのパスに問題があるように見えます。おそらくあなたはPYTHONPATHを設定していますか? python.org 2.7.2を実行しているときは、Apple提供のPython 2.7.1のExtrasディレクトリはsys.pathであるべきではありません。何が起こっているかを把握しやすくするために、Pythonの2.7.2を起動し、次のことを調べます。

>>> import sys, os, pprint 
>>> pprint.pprint(sys.path) 
>>> pprint.pprint([p for p in os.environ.items() if p[0].startswith('PYTHON')]) 

またsite-packagesディレクトリの内容:

$ cd /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ 
$ ls -l 
$ more easy-install.pth 

や他のコンテンツを。 pthファイルがそこにあります。

何が起こっているかがまだ分かっていない場合は、答えを編集して上記の結果を表示してください。

更新日:

ご協力ありがとうございます。 sys.pathにはApple提供のシステムPython 2.7のExtrasディレクトリが含まれていることが確認されています。なぜそれが起こっているべきなのか明らかな理由はありません。詳しい情報がなければ、私は推測することしかできません。この時点で私が一番よく推測しているのは、あるPythonのファイルを誤って別のPythonにコピーしたということです。

$ cd /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 
$ ls -l site.py 
-rw-r--r-- 1 root wheel 19929 Jun 16 17:03 site.py 
$ grep Extras site.py 
      sitepackages.append(os.path.join(prefix, "Extras", "lib", "python")) 

あなたはpython.orgのPythonでそれを見るべきではありません:あなたはまた、より完全な再帰を行うことができ

$ cd /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 
$ ls -l site.py 
-rw-rw-r-- 1 root admin 20288 Jun 11 15:25 site.py 
$ grep Extras site.py 
$ 

アップルが提供するPythonはExtrasディレクトリを追加するにはsite.pyでパッチを持っていますpthファイルのディレクトリsys.pathにあるすべてのディレクトリを検索しても、それは何も見つかりません。

site-packagesには、numpyscipyの2つのバージョンがインストールされているようです(最新バージョンともう一方の最新バージョン)。私はあなたがインストールの間にnumpyとscipyのディレクトリをクリアするために踏んだか、それが問題を引き起こすかもしれないかどうかは分かっていませんが、そうかもしれません。この時点で

、より多くの情報がないと、私はあなたが完全に2.7.2インストールを削除して最初からやり直すことをお勧めは:

$ sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7 

あなたはバイナリnumpyの/ scipyのダウンロードインストーラのような別のアプローチを使用することを検討したり、インストール可能性がありますMacPortsを使用します。より良いアドバイスはproject's mailing listsのいずれかにあります。がんばろう!

+0

答えがNedです。上記のコードの結果との質問。 Extrasフォルダがパスにあるので、私は出て行く方法を見つける必要があります。 – tobi