首页 文章

如何在Linux集群上安装numpy? [关闭]

提问于
浏览
0

我是共享Linux(RHEL 4)集群上的用户(对这个东西也是新手),我正在尝试安装numpy . 该集群确实安装了它,但它使用的是Python 2.3版,几乎所有的脚本都只能与Python 2.7一起使用 . 所以我下载了numpy-1.6.1,un-tar'ed,然后运行设置并得到以下内容(见下文) . 我也尝试过“安装”而不是构建参数,但这也不起作用 . 我已经花了好几个小时才开始工作,所以我非常感谢你的帮助 . 有什么想法吗?

$ Python-2.7.2 / python setup.py build --fcompiler = gfortran从'numpy / distutils'中的numpy源目录.non-existing路径运行:'site.cfg'F2PY Version 2 blas_opt_info:blas_mkl_info:libraries mkl, vml,在/ usr / local / lib64库中找不到指南mkl,vml,在/ usr / local / lib库中找不到指南mkl,vml,指南找不到/ usr / lib64库mkl,vml,指南未在/找到usr / lib不可用atlas_blas_threads_info:设置PTATLAS = ATLAS库ptf77blas,ptcblas,在/ usr / local / lib64库中找不到 Map 集ptf77blas,ptcblas,在/ usr / local / lib库中找不到 Map 集ptf77blas,ptcblas,atlas not found in / usr / lib64库ptf77blas,ptcblas,在/ usr / lib / sse2库中找不到图册ptf77blas,ptcblas,/ usr / lib中找不到图册not AVAILABLE atlas_blas_info:库f77blas,cblas,atlas / us / / /中找不到lib64库f77blas,cblas,atlas在/ usr / local / lib中找不到自定义GnuFCompiler找到可执行文件/ usr / bin / g77 gnu:没有找到Fortran 90编译器gnu:no Fo rtran 90编译器发现自定义GnuFCompiler gnu:没有Fortran 90编译器发现gnu:没有找到Fortran 90编译器使用config编译'_configtest.c'定制GnuFCompiler:/ 这个文件是从numpy / distutils / system_info.py生成的 / void ATL_buildinfo(无效); int main(void){ATL_buildinfo();返回0; C编译器:/ usr / bin / gcc4 -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC编译选项:' - c'gcc4:_configtest.c / usr / bin / gcc4 configtest.o -L / usr / lib64 -lf77blas -lcblas -latlas -o configtest ATLAS版本3.7.11由root在2006年6月5日星期一10:14:12编写:UNAME:Linux intel1.lsf.platform .com 2.6.9-34.ELsmp#1 SMP Fri 2月24日16:56:28 EST 2006 x86_64 x86_64 x86_64 GNU / Linux INSTFLG:MMDEF:/ export / madison / src / roll / hpc / BUILD / ATLAS / CONFIG / ARCHS / P4E64SSE3 / gcc / gemm ARCHDEF:/ export / madison / src / roll / hpc / BUILD / ATLAS / CONFIG / ARCHS / P4E64SSE3 / gcc / misc F2CDEFS:-DAdd -DStringSunStyle CACHEEDGE:393216 F77:/ usr / bin / g77,版本GNU Fortran(GCC)3.4.5 20051201(Red Hat 3.4.5-2)F77FLAGS:-fomit-frame-pointer -O -m64 CC:/ usr / bin / gcc,版本gcc(GCC)3.4.5 20051201(红帽3.4.5-2)CC标志:-fomit-frame-pointer -O3 -funroll-all-loops -m64 MCC:/ usr / bin / gcc,version gcc(GCC)3.4.5 20051201(Red Hat 3.4 . 5-2)MCCFLAGS:-fomit-frame-pointe r -O -m64成功!删除:_configtest.c _configtest.o _configtest FOUND:libraries = ['f77blas','cblas','atlas'] library_dirs = ['/ usr / lib64'] language = c define_macros = [('ATLAS_INFO','“\ “3.7.11 \”“')] FOUND:libraries = ['f77blas','cblas','atlas'] library_dirs = ['/ usr / lib64'] language = c define_macros = [('ATLAS_INFO','” \“3.7.11 \”“')] lapack_opt_info:lapack_mkl_info:mkl_info:libraries mkl,vml,在/ usr / local / lib64库中找不到指南mkl,vml,在/ usr / local / lib库mkl中找不到指南, vml,在/ usr / lib64库中找不到指南mkl,vml,在/ usr / lib中找不到指南不可用atlas_threads_info:设置PTATLAS = ATLAS库ptf77blas,ptcblas,在/ usr / local / lib64库中找不到图册lapack_atlas在/ usr / local / lib64库中找不到ptf77blas,ptcblas,在/ usr / local / lib库中找不到图册lapack_atlas在/ usr / local / lib库中找不到ptf77blas,ptcblas,在/ usr / lib64库中找不到atlas lapack_atlas在/ usr / lib64库ptf77blas中找不到,ptcblas,在/ usr / lib / sse2库中找不到图册lapack_atlas在/ usr / lib / sse2库中找不到ptf77blas,ptcblas,在/ usr / lib库中找不到图册lapack_atlas在/ usr / lib numpy.distutils中找不到 . system_info.atlas_threads_info NOT AVAILABLE atlas_info:库f77blas,cblas,在/ usr / local / lib64库中找不到图册lapack_atlas在/ usr / local / lib64库中找不到f77blas,cblas,在/ usr / local / lib库中找不到atlas lapack_atlas在/ usr / local / lib库中找不到lapack_atlas在/ usr / lib64中找不到numpy.distutils.system_info.atlas_info FOUND:libraries = ['lapack','f77blas','cblas','atlas'] library_dirs = [' / usr / lib64'] language = f77 define_macros = [('ATLAS_INFO','“\”3.7.11 \“”')FOUND:libraries = ['lapack','f77blas','cblas','atlas' ] library_dirs = ['/ usr / lib64'] language = f77 define_macros = [('ATLAS_INFO','“\”3.7.11 \“”')运行构建运行config_cc统一config_cc,config,build_clib,build_ext,构建命令 - 编译器选项runn使用config_fc统一config_fc,config,build_clib,build_ext,构建命令--fcompiler选项运行build_src build_src构建py_modules源构建库“npymath”源自定义Gnu95FCompiler找到可执行文件/ usr / bin / gfortran自定义Gnu95FCompiler使用config C编译器:/ usr / bin / gcc4 -fno-strict-aliasing -g - O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC编译选项:'-Inumpy / core / src / private -Inumpy / core / src -Inumpy / core -Inumpy / core / src / npymath -Inumpy / core / src / multiarray -Inumpy / core / src / umath -Inumpy / core / include -I / scratch / groups / crabtree / Python-2.7.2 / Include -I / scratch / groups / crabtree / Python-2.7.2 - c'gcc4:_configtest.c / usr / bin / gcc4 _configtest.o -o _configtest成功!删除:_configtest.c _configtest.o _configtest C编译器:/ usr / bin / gcc4 -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC编译选项:' - Inumpy / core / src / private -Inumpy / core / src -Inumpy / core -Inumpy / core / src / npymath -Inumpy / core / src / multiarray -Inumpy / core / src / umath -Inumpy / core / include -I / scratch /groups/crabtree/Python-2.7.2/Include -I / scratch / groups / crabtree / Python-2.7.2 -c'gcc4:_configtest.c _configtest.c:1:warning:内置函数的冲突类型' exp'/ usr / bin / gcc4 _configtest.o -o _configtest _configtest.o( . text 0x5):在函数main'中:/ scratch / groupss / codree / numpy-1.6.1 / _configtest.c:6:undefined reference toexp 'collect2:ld返回1退出状态_configtest.o( . text 0x5):在函数main'中:/ / scratch / groups / codree / numpy-1.6.1 / _configtest.c:6:未定义引用toexp'cols2:ld返回1退出状态失败 . 删除:_configtest.c _configtest.o C编译器:/ usr / bin / gcc4 -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC编译选项:' - Inumpy / core / src / private -Inumpy / core / src -Inumpy / core -Inumpy / core / src / npymath -Inumpy / core / src / multiarray -Inumpy / core / src / umath -Inumpy / core / include -I / scratch / groups / crabtree / Python-2.7.2 / Include -I / scratch / groups / crabtree / Python-2.7.2 -c'gcc4:_configtest.c _configtest.c:1:warning:内置函数'exp的冲突类型'/ usr / bin / gcc4 _configtest.o -lm -o _configtest成功!删除:_configtest.c _configtest.o _configtest构建扩展“numpy.core._sort”将源代码添加到“build / src.linux-x86_64-2.7 / numpy / core / include / numpy / config.h” . 将“build / src.linux-x86_64-2.7 / numpy / core / include / numpy / _numpyconfig.h”添加到源代码中 . 执行numpy / core / code_generators / generate_numpy_api.py向源添加'build / src.linux-x86_64-2.7 / numpy / core / include / numpy / __ multiarray_api.h' . numpy.core - 没有用h_files = ['build / src.linux-x86_64-2.7 / numpy / core / include / numpy / config.h','build / src.linux-x86_64-2.7 / numpy / core / include /numpy/_numpyconfig.h','build / src.linux-x86_64-2.7 / numpy / core / include / numpy / __ multiarray_api.h']构建扩展“numpy.core.multiarray”来源添加'build / src.linux- x86_64-2.7 / numpy / core / include / numpy / config.h'来源 . 将“build / src.linux-x86_64-2.7 / numpy / core / include / numpy / _numpyconfig.h”添加到源代码中 . 执行numpy / core / code_generators / generate_numpy_api.py向源添加'build / src.linux-x86_64-2.7 / numpy / core / include / numpy / __ multiarray_api.h' . numpy.core - 没有用h_files = ['build / src.linux-x86_64-2.7 / numpy / core / include / numpy / config.h','build / src.linux-x86_64-2.7 / numpy / core / include /numpy/_numpyconfig.h','build / src.linux-x86_64-2.7 / numpy / core / include / numpy / __ multiarray_api.h']构建扩展“numpy.core.umath”来源添加'build / src.linux- x86_64-2.7 / numpy / core / include / numpy / config.h'来源 . 将“build / src.linux-x86_64-2.7 / numpy / core / include / numpy / _numpyconfig.h”添加到源代码中 . 执行numpy / core / code_generators / generate_ufunc_api.py向源添加'build / src.linux-x86_64-2.7 / numpy / core / include / numpy / __ ufunc_api.h' . 将“build / src.linux-x86_64-2.7 / numpy / core / src / umath”添加到include_dirs . numpy.core - 没有用h_files = ['build / src.linux-x86_64-2.7 / numpy / core / src / umath / funcs.inc','build / src.linux-x86_64-2.7 / numpy / core / include /numpy/config.h','build / src.linux-x86_64-2.7 / numpy / core / include / numpy / _numpyconfig.h','build / src.linux-x86_64-2.7 / numpy / core / include / numpy /__ufunc_api.h']构建扩展“numpy.core.scalarmath”源将“build / src.linux-x86_64-2.7 / numpy / core / include / numpy / config.h”添加到源 . 将“build / src.linux-x86_64-2.7 / numpy / core / include / numpy / _numpyconfig.h”添加到源代码中 . 执行numpy / core / code_generators / generate_numpy_api.py向源添加'build / src.linux-x86_64-2.7 / numpy / core / include / numpy / __ multiarray_api.h' . 执行numpy / core / code_generators / generate_ufunc_api.py向源添加'build / src.linux-x86_64-2.7 / numpy / core / include / numpy / __ ufunc_api.h' . numpy.core - 没有用h_files = ['build / src.linux-x86_64-2.7 / numpy / core / include / numpy / config.h','build / src.linux-x86_64-2.7 / numpy / core / include /numpy/_numpyconfig.h','build / src.linux-x86_64-2.7 / numpy / core / include / numpy / __ multiarray_api.h','build / src.linux-x86_64-2.7 / numpy / core / include / numpy /__ufunc_api.h']建设扩展名“numpy.core._dotblas”将“numpy / core / blasdot / _dotblas.c”添加到源代码中 . 构建扩展“numpy.core.umath_tests”来源构建扩展“numpy.core.multiarray_tests”来源构建扩展“numpy.lib._compiled_base”来源构建扩展“numpy.numarray._capi”来源构建扩展“numpy.fft.fftpack_lite”来源构建扩展“numpy.linalg.lapack_lite”源将“numpy / linalg / lapack_litemodule.c”添加到源 . 将'numpy / linalg / python_xerbla.c'添加到源代码中 . 构建扩展“numpy.random.mtrand”来源C编译器:/ usr / bin / gcc4 -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC编译选项:' - Inumpy / core / src / private -Inumpy / core / src -Inumpy / core -Inumpy / core / src / npymath -Inumpy / core / src / multiarray -Inumpy / core / src / umath -Inumpy / core / include -I / scratch / groups / crabtree / Python-2.7.2 / Include -I / scratch / groups / crabtree / Python-2.7.2 -c'gcc4:_configtest.c / usr / bin / gcc4 _configtest.o -o _configtest _configtest failure . 删除:_configtest.c _configtest.o _configtest构建data_files源build_src:构建运行build_py的npy-pkg配置文件复制numpy / version.py - > build / lib.linux-x86_64-2.7 / numpy复制numpy / config.py - > build /lib.linux-x86_64-2.7/numpy复制build / src.linux-x86_64-2.7 / numpy / config.py - > build / lib.linux-x86_64-2.7 / numpy复制numpy / distutils / config.py - > build /lib.linux-x86_64-2.7/numpy/distutils复制build / src.linux-x86_64-2.7 / numpy / distutils / config.py - > build / lib.linux-x86_64-2.7 / numpy / distutils运行build_clib自定义UnixCCompiler自定义UnixCCompiler使用build_clib运行build_ext自定义UnixCCompiler自定义UnixCCompiler使用build_ext自定义Gnu95FCompiler自定义Gnu95FCompiler使用build_ext构建'numpy.core._dotblas'扩展编译C源代码C编译器:/ usr / bin / gcc4 -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC编译选项:' - DATLAS_INFO =“\”3.7.11 \“” - Inumpy / core / blasdot - Inumpy / core / include -Ibuild / src.linux-x86_64-2.7 / numpy / core / include / numpy -Inumpy / core / src / private -Inumpy / core / src -Inumpy / core -Inumpy / core / src / npymath - Inumpy / core / src / multiarray -Inumpy / core / src / umath -Inumpy / core / include -I / scratch / groups / crabtree / Python-2.7.2 / Include -I / scratch / groups / crabtree / Python-2.7 . 2 -Ibuild / src.linux-x86_64-2.7 / numpy / core / src / multiarray -Ibuild / src.linux-x86_64-2.7 / numpy / core / src / umath -c'gcc4:numpy / core / blasdot / _dotblas . c numpy / core / blasdot / _dotblas.c:在函数'dotblas_matrixproduct'中:numpy / core / blasdot / _dotblas.c:239:警告:不同指针类型的比较缺少一个强制转换numpy / core / blasdot / _dotblas.c:257 :警告:从不兼容的指针类型numpy / core / blasdot / _dotblas.c传递'(PyArray_API 2240u)'的参数3:292:警告:从不兼容的指针类型gcc -pthread传递'(PyArray_API 2240u)'的参数3 -shared build / temp.linux-x86_64-2.7 / numpy / core / blasdot / _dotblas.o -L / usr / lib64 -Lbuild / temp.linux-x86_64-2.7 -lf77blas -lc blas -latlas -o build / lib.linux-x86_64-2.7 / numpy / core / _dotblas.so / usr / bin / ld:/usr/lib64/libcblas.a(cblas_dgemm.o):针对本地符号重新定位R_X86_64_32制作共享对象时不能使用;使用-fPIC /usr/lib64/libcblas.a重新编译:无法读取符号:错误值collect2:ld返回1退出状态/ usr / bin / ld:/usr/lib64/libcblas.a(cblas_dgemm.o):重定位R_X86_64_32在制作共享对象时不能使用“局部符号”;使用-fPIC /usr/lib64/libcblas.a重新编译:无法读取符号:错误值collect2:ld返回1退出状态错误:命令“gcc -pthread -shared build / temp.linux-x86_64-2.7 / numpy / core / blasdot / _dotblas.o -L / usr / lib64 -Lbuild / temp.linux-x86_64-2.7 -lf77blas -lcblas -latlas -o build / lib.linux-x86_64-2.7 / numpy / core / _dotblas.so“退出失败状态1

1 回答

  • 1

    我有很多兼容性问题python 2.7和各种版本的numpy,scipy,matplotlib ...我必须安装 . 最后,好的选择是使用(在ubuntu下)apt-get实用程序,以确保所有这些包之间的版本兼容 .

    现在,在阅读日志时,我发现您没有安装LAPACK . 请参阅BLAS和/或ATLAS软件包以获得此信息 . 您还需要先安装fortran编译器 . 还有python2.7-dev包,其中包含所需的标头和静态 . 因此,我将遵循的程序如下:

    • 你有什么GCC版本?
    louis@APS007:~$ gcc -v
    Using built-in specs.
    Target: i686-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.4-14ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
    Thread model: posix
    gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)
    

    检查你至少有一个gcc版本4(能够处理64位浮点数,因为numpy需要它们)或更新你的O.S.小心!更新GCC不是一个无辜的包调整......

    • 安装Fortran编译器 .

    • 最终安装LAPACK库 . 它将通过预编译大部分例程并为CPU调整它们来严重加速numpy .

    • 安装python-dev

    然后你可以 python setup build .

    希望这有用!

相关问题