使用altinstall创建的Python 2.7需要访问scipy依赖项

时间:2013-10-06 11:30:20

标签: python python-2.7 numpy

我最近将我的CentOS6服务器从Python 2.6更新到2.7,只留下系统版本并使用altinstall方法。

# yum groupinstall "Development tools"
# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

# wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
# tar xf Python-2.7.3.tar.bz2
# cd Python-2.7.3
# ./configure --prefix=/usr/local
# make && make altinstall

然后我安装了分发并通过它,虚拟环境

# wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz
# tar xf distribute-0.6.35.tar.gz
# cd distribute-0.6.35
# python2.7 setup.py install

# easy_install-2.7 virtualenv
# virtualenv-2.7 --distribute someproject
New python executable in someproject/bin/python2.7
Also creating executable in someproject/bin/python
Installing distribute...................done.
Installing pip................done.
# source someproject/bin/activate
(someproject)# python --version
Python 2.7.3
(someproject)#

一切都很好,我激活我的virtualenv并安装我需要的任何东西,除了一个例外,那些该死的scipy和numpy模块! 当我尝试安装scipy时,我收到以下错误:

error: 
    Blas (http://www.netlib.org/blas/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [blas]) or by setting
    the BLAS environment variable.

我做了大量的研究和阅读,似乎问题不在于virtualenv设置,而是使用python2.7安装,似乎根本没有使用这些库。对于这个版本的Python,似乎很难重新编译它们。是这种情况还是我在这里遗漏了什么?

你知道如何指出我新安装的python2.7版本使用这些库吗?或者只是指出正确的方向?

编辑:python2.6过去已经安装了包含这些依赖项的-dev软件包,但是对于使用altinstall创建的新版本,无法访问它们。

1 个答案:

答案 0 :(得分:1)

如果你已经在你的机器上安装了BLAS并且你知道它在哪里,你可以通过预先设置'BLAS'环境变量来使用它来构建scipy。例如,

export BLAS=/path/to/libblas.so

教学笔记:正如你所问,这样做并不能将Python2.7本身指向BLAS。你只是告诉scipy在构建过程中在哪里找到BLAS。 Python本身是无知的,一旦构建就会直接使用scipy。

此外,scipy.org提供了所有常见Linux的详细安装说明。我的回答主要是对这里的信息反刍:

http://www.scipy.org/scipylib/building/linux.html