先用 pip 安装 numpy:pip install numpy
查看 numpy 的版本和路径:import numpy
print numpy.__version__
print numpy.__file__1.6.2
/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/__init__.pyc
scipy 的安装相对要麻烦一些。mountain lion 下直接 pip install scipy 有问题,相关的问题在 scipy 的git 版本中已经得到修正,因此要用下面的命令安装 github 上的 dev 版本:pip install -e git+https://github.com/scipy/scipy#egg=scipy-dev
这时可能会出现下面的错误:numpy.distutils.npy_pkg_config.PkgNotFound: Could not find file(s) ['/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/lib/npy-pkg-config/npymath.ini']
我的解决方法是,重新下载一个 numpy 的源码(版本和前面安装的相同),解开后进行 build:python setup.py build
在 build 目录下面的src.macosx-10.8-intel-2.7/numpy/core/lib/npy-pkg-config/ 下能找到这个文件 npymath.ini,把这个 npy-pkg-config 目录都 copy 到 usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/lib 下面,继续前面的安装,就能够克服这个问题。但在编译的最后,发现无法找到 libnpymath 库,这个库可以在 build 目录下的 temp.macosx-10.8-intel-2.7 里找到 libnpymath.a ,同样把它 copy 到 上面的 core/lib 目录下,继续 pip 就成功了。
检查 scipy 的版本:import scipy
print scipy.__version__
print scipy.__file__0.12.0.dev-5c40ff8
/Users/xxh/src/scipy/scipy/__init__.pyc
可见编译的 dev 版本没有把文件都复制到 usr/local… 下,而是保留在原地,在 /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 下放了个 scipy.egg-link 。