我在CentOS 6.5上从源代码构建numpy,没有root访问权限(python -V = 2.7.6).我有来自git的最新numpy源代码.我不能因为我的生活而得到numpy承认atlas libs.我有:
ls -1 /usr/lib64/atlas libatlas.so.3 libatlas.so.3.0 libcblas.so.3 libcblas.so.3.0 libclapack.so.3 libclapack.so.3.0 libf77blas.so.3 libf77blas.so.3.0 liblapack.so.3 liblapack.so.3.0 libptcblas.so.3 libptcblas.so.3.0 libptf77blas.so.3 libptf77blas.so.3.0
我不知道这些lib是如何产生的,但我只能假设atlas版本比我可以制作的任何标准BLAS/LAPACK版本更快.
将numpy指向这些库的正确方法是什么?我是否export ATLAS, BLAS, LAPACK=...
将每个设置为相应的路径?或者我编辑site.cfg
文件以包含以下内容:
[default] library_dirs = /usr/lib64/atlas [atlas] library_dirs = /usr/lib64/atlas atlas_libs = lapack, cblas, f77blas, atlas
我已经尝试了上面的每一个变体,每次运行python setup.py config
它都告诉我在我指定的路径中找不到每个库以及一堆其他默认搜索路径.我已经python setup.py config
使用site.cfg
上面的设置粘贴了运行结果,并且没有设置环境变量:http://pastebin.com/EL9CfaR7.任何帮助表示赞赏.
好的,这很简单,基本上遵循安装准则.我想这对于共享库之后的编号比关于numpy或atlas更多的问题.无论如何,我只需要创建一些符号链接:
ln -s /usr/lib64/atlas/___.so.3.0 $HOME/local/lib/___.so
然后删除site.cfg中的所有配置并更新我的.bashrc
:
export ATLAS=$HOME/local/lib/libatlas.so export BLAS=$HOME/local/lib/libptf77blas.so export LAPACK=$HOME/local/lib/liblapack.so
跑完后python setup.py install
,我很好:
>>> import numpy.distutils.system_info as si >>> si.get_info('atlas') ATLAS version 3.8.4 built by mockbuild on Wed Mar 21 01:43:44 GMT 2012: UNAME : Linux c6b6.bsys.dev.centos.org 2.6.32-44.2.el6.x86_64 #1 SMP Wed Jul 21 12:48:32 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux INSTFLG : -1 0 -a 1 ARCHDEFS : -DATL_OS_Linux -DATL_ARCH_PII -DATL_CPUMHZ=2261 -DATL_SSE2 -DATL_SSE1 -DATL_USE64BITS -DATL_GAS_x8664 F2CDEFS : -DAdd_ -DF77_INTEGER=int -DStringSunStyle CACHEEDGE: 163840 F77 : gfortran, version GNU Fortran (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3) F77FLAGS : -fomit-frame-pointer -mfpmath=387 -O2 -falign-loops=4 -g -Wa,--noexecstack -fPIC -m64 SMC : gcc, version gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3) SMCFLAGS : -fomit-frame-pointer -mfpmath=387 -O2 -falign-loops=4 -g -Wa,--noexecstack -fPIC -m64 SKC : gcc, version gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3) SKCFLAGS : -fomit-frame-pointer -mfpmath=387 -O2 -falign-loops=4 -g -Wa,--noexecstack -fPIC -m64 {'libraries': ['lapack', 'f77blas', 'cblas', 'atlas'], 'library_dirs': ['~/local/lib'], 'define_macros': [('ATLAS_INFO', '"\\"3.8.4\\""')], 'language': 'f77'}