如何告诉 Python Atlas 安装在哪里



我目前正在一台没有root访问权限的计算机上安装Python的scikit-learn包。在 Fedora 14 上使用 Python 2.7。

pip 未安装,所以我正在使用easy_install:

easy_install --prefix=$HOME/.local -U scikit-learn

安装过程抱怨未安装 BLAS。我过去曾尝试安装scipy,但在寻找和安装Atlas/BLAS时都遇到了麻烦。从那以后,我检查了 numpy 对 Atlas 没有问题:

>>> import numpy as np
>>> np.__config__.show()
atlas_threads_info:
    libraries = ['lapack', 'ptf77blas', 'ptcblas', 'atlas']
    library_dirs = ['/usr/lib/atlas']
    language = f77
    include_dirs = ['/usr/include']
blas_opt_info:
    libraries = ['ptf77blas', 'ptcblas', 'atlas']
    library_dirs = ['/usr/lib/atlas']
    define_macros = [('ATLAS_INFO', '"\"3.8.3\""')]
    language = c
    include_dirs = ['/usr/include']
atlas_blas_threads_info:
    libraries = ['ptf77blas', 'ptcblas', 'atlas']
    library_dirs = ['/usr/lib/atlas']
    language = c
    include_dirs = ['/usr/include']
lapack_opt_info:
    libraries = ['lapack', 'ptf77blas', 'ptcblas', 'atlas']
    library_dirs = ['/usr/lib/atlas']
    define_macros = [('ATLAS_INFO', '"\"3.8.3\""')]
    language = f77
    include_dirs = ['/usr/include']
lapack_mkl_info:
  NOT AVAILABLE
blas_mkl_info:
  NOT AVAILABLE
mkl_info:
  NOT AVAILABLE

/usr/lib/atlas存在,并且包含 .so 文件。

这是easy_install存在的错误:

error: Setup script exited with error: Command "gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/lib/python2.7/site-packages/numpy/core/include -I/usr/lib/python2.7/site-packages/numpy/core/include -I/usr/include/python2.7 -c sklearn/__check_build/_check_build.c -o build/temp.linux-i686-2.7/sklearn/__check_build/_check_build.o" failed with exit status 1
/usr/lib/python2.7/site-packages/numpy/distutils/misc_util.py:248: RuntimeWarning: Parent module 'numpy.distutils' not found while handling absolute import
  from numpy.distutils import log

以及安装早期的警告:

/usr/lib/python2.7/site-packages/numpy/distutils/system_info.py:1392: UserWarning:
    Atlas (http://math-atlas.sourceforge.net/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [atlas]) or by setting
    the ATLAS environment variable.

因此,安装过程似乎找不到numpy或Atlas。我如何告诉它在哪里可以找到这些?

我宁愿在评论中问这个问题,但没有足够的声誉来这样做:

export ATLAS=/usr/lib/atlas/libatlas.so之前easy_install有帮助吗?

如果您没有root访问权限,并且想要安装自己的模块,virtualenv是要走的路。

要设置一个默认环境,只需执行以下操作:

$ pip install virtualenv
$ virtualenv ~/.default_env
# Add the activate script to the bashrc
$ echo "source ~/.default_env/bin/activate

在此之后,您可以使用 pip 或 easy_install 来安装您想要的任何软件包。

从源代码安装 numpy 和 scipy 有时会很棘手。如果你想要一个简单的出路,我建议建立一个科学的python发行版,它将安装一个带有所有必要库的单独python。那里有几种选择,我推荐 continuum.io 的蟒蛇,你可以在这里下载。

相关内容

  • 没有找到相关文章

最新更新