【发布时间】:2011-08-06 16:42:32
【问题描述】:
我正在尝试让我的 python/numpy/scipy 工作环境在 OS X Lion 上运行。
我已经成功地从他们最新的源代码版本中编译了 numpy 和 scipy
python setup.py build
python setup.py install
我确实运行从 python.org 下载的 Python 2.7.2 版本:
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.
>>>
如果我比 import numpy 它显示:
>>> import numpy
>>> numpy.__version__
'1.5.1'
>>> numpy.__file__
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/__init__.pyc'
>>>
numpy的系统安装。而
>>> 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 会出现同样的奇怪行为。 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
我确实在路径中看到了 System Extras 文件夹,现在的问题是为什么以及如何摆脱它。
感谢您的帮助
托比干杯
【问题讨论】:
-
运行
scripy.test()时你不在scipy的源代码树中,对吧? -
不,当我运行测试时,我在我的主目录中。我猜
scipy.test()失败了,因为它使用了旧 (1.5.1) 版本的 numpy
标签: python numpy scipy osx-lion