作者ccwang002 (亮)
看板Python
标题Re: 请教在 Python 3.4 上装 numpy
时间Wed Jan 22 13:22:06 2014
※ 引述《Equalmusic (Cosmajoonitist)》之铭言:
: 作业系统是 OS X 10.9
: 因为之前学的时候是学 Python 3,但是网路上多半的资源都是给 Python 2 用的
: 虽然 Google 了很多方法,但是目前一直都不成功
: 想请教一下有没有板友成功把 numpy 装在 Python 3 上的
: 感激不尽!
因为从内文中看不出 3.4 的需求,我会先以最轻松的方式来说明,
也就是利用 mac 上的套件管理系统 Homebrew 来做示范。
现在稳定的 Py3 版本是 3.3 所以先从 3.3 来做,也不会一次加入太多未知的状况。
请参考 Homebrew 官网设定环境
http://brew.sh/ 过程中应该需要 Xcode 相关套件
brew install python3 # 安装并设定好 python 3.3.3, setuptools, pip
多数人比较难装的 Python 套件,其实也被放在 homebrew 其他 tap 中,
请加入他们,并参考 github 说明
https://github.com/Homebrew/homebrew-python
brew tap Homebrew/python
brew install numpy --with-python3 # 不要 py2 的话加上 --without-python
这样就完成了,可以跑个 numpy 的 test 确定有没有正确安装
python3 -c "import numpy; numpy.test()"
我以 10.9 numpy 1.8.0 预设参数测 ran 4932 tests OK (KNOWNFAIL=6, SKIP=6)
同时也可以用以下指令,判断 lapack 有没有正确连结到系统的 blas/arpack 之类
cd /usr/local/lib/python3.3/site-packages/numpy/linalg
xcrun otool -L lapack_lite.so
这样会是最稳健的做法。不过你提到了 3.4,这边其实耐心等到 3月之类
大家安装会出的状况就会帮你处理好了,上述的方法会自动带入 3.4
但如果你有急需,首先要归纳会编译失败几个可能的原因,
+ Python 3.4 安装不完整(如果是自己编译的话记得 make test)
+ Numpy 请选择 1.7+ 版本,编译过程中需要 gfortran
使用 source 编译时,`python3 setup.py config` 可以看到 numpy 是否跟
你设定的 library 正确的连结
我会推荐两种方法:
1. 用 brew cat python3; brew cat numpy 看 homebrew 帮你安装时用的脚本
当中做了什麽 patch,修改了什麽参数,多装什麽套件。
套件只要任一 python 版本有装过,这部份应该就不会有问题了,
所以问题比较大的是有下 patch 的情况。
2. 修改 python3 的脚本,让它装 3.4b 版本
brew edit python3
把里面的 url 修改成 3.4.0b2 的路径,也要把 VER='3.4'
然後再用 brew install python3 完成一开始的动作。
但我先声明我自己还没读完 3.4 的说明文件,也还没实测它。
我想我会学之前 Keith 说的用 pyenv + virtualenv 来管理版本了 xd
ps 差点忘了宣传 ~~
如果对 Python 在科学计算上有什麽有趣的进展/研究/套件,
都很欢迎各位参加今年度 5月中的 PyCon APAC 2014,台湾有幸主办亚太区的 PyCon
现在正是 Call for Proposal 的阶段,PyCon 欢迎各式各样跟 Python 有关的应用
今年也有 Scipy track 欢迎你投稿小论文 ~
我们请到的 Keynote 讲者也非常厉害,大家有兴趣可以参考官网
http://tw.pycon.org/2014apac/zh/
也欢迎来 PyConTW FB 粉丝页按个赞!
https://www.facebook.com/pycontw
如果你也想为 Python 社群尽一份力量,冲一发大的,
我们也在徵求志工朋友加入!欢迎站内信给我/版主,
或者直接来本周四於 CLBC 的 Taipei.py 聚会!
(工商服务会不会太长了 xd)
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.129.5
※ 编辑: ccwang002 来自: 140.112.129.5 (01/22 13:31)