在linux服务器上用pip安装scipy

时间:2013-07-02 17:19:14

标签: python numpy scipy pip easy-install

我在linux系统上安装scipy时遇到问题。之前已经问过这个问题,但我无法确切地找出解决方案,特别是最新的解决方案是什么,因为似乎很多这些存储库不断更新,解决方案可能也是如此。我想在这个问题的上一篇文章中发布这个,但是我注意到我应该只提供一个问题的答案,而不是在那里发布我的问题!所以我在这里创建一个新帖子。 我知道这个帖子会被投票,被阻止,被谴责....但请善待同时指出我可能遇到的问题。我已经浏览了网页,特别是stackoverflow,用于在我正在使用的linux系统中安装scipy,并且尽我所知和能力(有限,我不是软件专业人员)使用过这里发布的各种建议。 所以这就是我所拥有的: 1)我在linux系统上:

Linux compute-0-25.local 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

2)安装virtualenv,创建并激活虚拟环境:

curl -O -k https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.9.1.tar.gz
tar xvfz virtualenv-1.9.1.tar.gz
cd virtualenv-1.9.1
/usr/local/python/2.6.5/bin/python virtualenv.py myVE
. virtualenv-1.9.1/myVE/bin/activate

3)安装numpy:

pip install numpy

4)尝试安装scipy:

pip install scipy

在pip.log文件中出现以下错误: https://gist.github.com/hariiyer16/5910959

也尝试过(基于此前的帖子):

pip install git + http://github.com/scipy/scipy/

然而,这不起作用。还尝试了easy_install,但没有用。如果它有帮助,也会发布这些错误。

通过以前的一些帖子,我可能必须获得scipy依赖(libamd2.2.0 libblas3gf libc6 libgcc1 libgfortran3 liblapack3gf libumfpack5.4.0 libstdc ++ 6 build-essential gfortran libatlas-sse2-dev python-all-dev )。有人可以告诉我,如果是这样吗?在这种情况下,我必须检查我们的管理员,因为我没有超级用户权限(只能在我的目录中安装东西)。但在询问管理员之前,我想确定需要安装哪些依赖项。 得到一些指示以及一些投票结果会很棒。真的很感激。以前,我可以在这里的人们的帮助下在我的Mac(雪豹)上安装numpy,scipy等,并对此感激不尽。但是这一次非常艰巨,花了太多时间。

感谢。

1 个答案:

答案 0 :(得分:5)

经过大量尝试后,我在新的虚拟环境中完成了Python的全新安装。因为我正在进行干净安装,所以我使用Python 2.7.5。 然后激活虚拟环境。 然后使用pip install安装numpyscipy,这些都无效! (不知道为什么。知道某人是否有线索会很棒)。 但是,尝试easy_install并且numpy和scipy都工作了。很高兴它有效,但我不会安静地睡觉,因为不知道实际问题是什么。 以下是完整的代码:

1)安装python

wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz
tar -zxvf Python-2.7.5.tgz
mkdir ~/Python-2.7
cd Python-2.7.5
make clean
./configure --help #get to know the options in configure
./configure --help | grep -i ucs $get to know the UCS options
./configure --prefix=/home/org/username/Python-2.7 #install Python in the Python-2.7 directory
make
make install

2)在新的Python-2.7.5安装中安装virtualenv(virtualenv-1.9.1.tar.gz在名为virtualenv-1.9.1的文件夹中解压缩)

cd virtualenv-1.9.1/
~/Python-2.7/bin/python setup.py install #this installs virtualenv in the new Python directory
cd ..

3)使用本地python

创建virtualenv
mkdir ~/virtualenv-1.9.1/myVE_Python2.7
cd ~/virtualenv-1.9.1/myVE_Python2.7
~/Python-2.7/bin/virtualenv py2.7 --python=/home/org/username/Python-2.7/bin/python2.7

4)激活环境

ls -l virtualenv-1.9.1/myVE_Python2.7/py2.7/bin/
. virtualenv-1.9.1/myVE_Python2.7/py2.7/bin/activate

5)使用easy_install

安装numpy和scipy
ls -l virtualenv-1.9.1/myVE_Python2.7/py2.7/bin/
easy_install -U setuptools

由于某种原因pip install安装了UCS4构建的numpy,这与UCS2构建的Python版本不兼容。所以不得不使用easy_install进行numpy和scipy(嗯,这是我最好的猜测)。

easy_install numpy
easy_install scipy
ls -l /home/org/username/virtualenv-1.9.1/myVE_Python2.7/py2.7/lib/python2.7/site-packages

发现以下帖子有用: Is it possible to install another version of Python to Virtualenv?

Installing SciPy with pip

How to find out if Python is compiled with UCS-2 or UCS-4?

http://www.cyberciti.biz/faq/debian-ubuntu-centos-rhel-linux-install-pipclient/

Use different Python version with virtualenv

感谢。