OpenMDao程序依赖scipy并且要求版本在0.11.0以上,安装起来费了一些劲。网上查的可以apt-get install python-scipy安装,但版本只到0.08.0(这里不禁要问源的维护人员搞毛去了,如果支持更高的,根本就不费一点事了)。因此按照OpenMDao官网上给出的教程下载源程序编译安装,然后输入以下几条命令,大概就是让python知道安装了这个包吧:
cd /usr/local/lib/python2.7/dist-packages sudo find scipy -type d -exec chmod o=rx {} \; sudo find scipy -type f -exec chmod o=r {} \;
但很遗憾不管用,我的local路径下就没有scipy这个文件,在/usr/lib/python2.7里倒是有,于是cd到那个路径下如是操作,仍是不行。不禁疑惑,难道是没更新好版本,于是查python怎么自动安装第三方程序库,得到pip和easy_install两个方法,都可以在apt-get里安装,选用了pip,先介绍一下三个常用使用方法:
pip install abc 安装 pip uninstall abc 卸载 pip freeze 列出第三方库及版本号
可惜scipy仍是安装不成功。怀疑是安装的python版本太多导致的。
回宿舍后用自己的本试,本上只装了python2.7.3。这次没感贸然行事,百度了多种方法,才知道scipy还要依赖blas,lapack,atlas这些非python库(这个难道不是一开始就该搞清楚的吗?!)。据说atlas不好装,于是翻看scipy的install.txt(这也应该是在开始安装前研读的!),它说sudo apt-get install python python-dev libatlas3-base-dev gcc gfortran g++能解决所有的依赖库,试之发现没有libatlas3-base-dev,只好装了个libatlas-base-dev,保险起见又把blas和lapack装了,pip install scipy竟然通过了!接着安装OpenMDao竟然也ok了(提示没有zmq.h,不知道是什么东西)。以后安装这些玩意,先要搞清依赖关系,先把没安装的依赖库装上再折腾其他的。