Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python OSX狮子上的scipy_Python_Numpy_Scipy_Osx Lion - Fatal编程技术网

Python OSX狮子上的scipy

Python OSX狮子上的scipy,python,numpy,scipy,osx-lion,Python,Numpy,Scipy,Osx Lion,我正在尝试让我的python/numpy/scipy工作环境在OSXLion上运行 我已经用通常的方法从最新的源代码版本编译了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 (

我正在尝试让我的python/numpy/scipy工作环境在OSXLion上运行

我已经用通常的方法从最新的源代码版本编译了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.
>>>
如果我输入的不是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时,苹果提供的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')])
还包括站点包目录的内容:

$ cd /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/
$ ls -l
$ more easy-install.pth
$ 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"))
以及任何其他.pth文件的内容

如果仍然不清楚发生了什么,请编辑您的答案以显示上述结果

更新:

感谢您提供所需的其他信息。它确认
sys.path
确实包含来自苹果提供的系统Python2.7的
Extras
目录。没有明显的理由说明为什么会发生这种情况。没有更多的信息,我只能猜测。尽管看起来不太可能,但我最好的猜测是,您不小心将一些文件从一个Python复制到了另一个Python。苹果提供的Python在
site.py
中有一个补丁,用于添加
Extras
目录:

$ cd /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/
$ ls -l
$ more easy-install.pth
$ 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
$
您还可以对
sys.path
上的所有目录进行更完整的递归搜索,以查找
pth
文件,但这似乎不太可能找到任何内容

您似乎还在
网站包中安装了两个版本的
numpy
scipy
,一个是最新发布的版本,另一个是最前沿的版本。我不知道您是否已采取措施清除安装之间的numpy和scipy目录,或者这是否会导致问题,但可能会

此时,如果没有更多信息,我建议您完全删除2.7.2安装并重新开始:

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

您可以考虑使用另一种方法,如二进制NUMPY/SCIPY安装程序,或者使用Mac端口进行安装。在其中一个网站上可能会找到更好的建议来源。祝你好运

当您运行
scripy.test()
时,您不在scipy的源代码树中,对吗?不,我运行测试时在我的主目录中。我猜
scipy.test()
失败是因为它使用旧(1.5.1)版本的numpyThanks作为答案,我确实用上面代码的结果编辑了问题。由于临时文件夹在路径中,我需要找到一种方法进入。