我正在尝试让我的python/numpy/scipy工作环境在osxlion上运行。在
我已经成功地用
python setup.py build
python setup.py install
我运行的是Python2.7.2版本,下载自python.org网站公司名称:
^{pr2}$如果我比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_安装,但是没能编译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
我确实在路径中看到了System Extras文件夹,现在的问题是为什么以及如何才能删除它。在
谢谢你的帮助
为托比干杯
似乎有一个路径问题。可能您正在设置
PYTHONPATH
?当您运行python.org网站2.7.2,苹果提供的python2.7.1的Extras目录不应该在sys.path
上。为了帮助了解发生了什么,请启动Python 2.7.2并检查以下内容:还有站点包目录的内容:
^{pr2}$以及其他任何.pth文件的内容。在
如果还不清楚发生了什么,编辑您的答案以显示上述结果。在
更新:
感谢您提供所需的附加信息。它确认了
sys.path
确实包含来自苹果提供的系统python2.7的Extras
目录。没有明显的理由说明为什么会发生这种情况。没有更多的信息,我只能推测。虽然看起来不太可能,但我现在最好的猜测是,您不小心从一个Python复制了一些文件到另一个Python。苹果提供的Python在site.py
中有一个补丁来添加Extras
目录:你不应该在python.org网站Python:
您还可以对
sys.path
上的所有目录执行更完整的递归搜索,以查找pth
文件,但似乎找不到任何内容。在您似乎还安装了}的两个版本,一个是最新发布的版本,另一个是最新版本。我不知道你是否采取措施清除安装之间的numpy和scipy目录,或者这是否会导致问题,但可能会。在
numpy
和{现在,在没有更多信息的情况下,我建议您完全删除2.7.2安装并重新开始:
您可以考虑使用其他方法,如二进制numpy/scipy安装程序或使用MacPorts安装。在project's mailing lists上可以找到更好的建议来源。祝你好运!在
相关问题 更多 >
编程相关推荐