之前在Red Hat 版本的linux系统上装过一次python和pip。感觉还挺顺利,但是这次还是Red Hat (版本4.4.6)却碰到了超级多问题,不过最终还是搞定了。记录下其中的问题和解决方案以备以后查阅。也为碰到同样问题的朋友给些参考。
1,安装python2.7安装包。
从官网下载python2.7.6的安装包。
https://www.python.org/download/releases/2.7.6。
解压后做以下几步:
(1) ./configure --prefix=/usr/local/pyton2.7(这里填写自己的安装目录)。
(2)执行make命令操作 对源码进行编译。
(3)执行make install 进行安装。
如果没报错就代表 python2.7已经安装到了你的服务器上。
2,修改服务器原有python命令默认的python版本(一般是2.6或者更低)
在终端输入python命令,会发现系统原有版本为2.6,并没有使用我们的2.7版本。
这是你可以用which python命令查看该python命令调用的是那个位置的python,一般情况下在/usr/bin/python 这里。
但是这里的python指向的系统自带的2.6版本。而我们安装的python2.7的命令在/usr/local/python2.7/bin/python(前边的路径要根据你的安装路径确定)这里。
我们只需把/usr/bin/python 删除掉:rm /usr/bin/python。然后做个软连接 ln -s /usr/local/python2.7/bin/python /usr/bin/python。
这个时候 我们再一次在终端输入python命令
bingo!已经成了2.7版本。
3,yum工具已经不可以使用了
这时候你输入 yum install xxxx 会提示你yum模块找不到。
其实 yum 是依赖python 的。当我们修改了原有的python版本之后这个yum会调用我们的2.7版本的python,而我们2.7版本没有yum就会报错。
我们只需要 用 which yum 找到yum的地址,然后 编辑yum文件,然后把文件首行的#!/usr/bin/python 改成#!/usr/bin/python2.6 (其实在/usr/bin下边依然是有python2.6这个文件的)。这样子yum就又可以使用了。
4,安装setuptools和pip
大家知道pip是使用python很方便的工具,其依赖setuptool。所以首先我们要安装setuptool。(我直接从官网下载setuptool和pip的安装包)
(1)安装setuptool
安装时候居然报错 python的zlib模块找不到。我顶!
我从官网http://www.zlib.net/现在zlib然后解压安装(跟装python2.7过程一样),可以不指定安装路径。这时候有个文件很重要,那就是zlib.h。
在我的服务器上这个文件被默认装到了/usr/local/include文件下。下一步我们要按照1中介绍重新编译安装python2.7
只是命令有些变化,第一步改成 ./configure --prefix=/usr/local/pyton2.7(这里填写自己的安装目录)。--with-zlib=/usr/local/include. 其他不变。
然后从新安装setuptool,完成了。
(2)安装pip
安装pip时候又报了错误,蛋疼。错误是无法加载HTTPSHandler模块。
在网上找了下,是系统的openssl和openssl-devel没装。我的系统只是openssl-devel没装。然后就下载了这个模块安装。
然后从新编译安装python2.7,命令还是 ./configure --prefix=/usr/local/pyton2.7(这里填写自己的安装目录)。--with-zlib=/usr/local/include.
然后从新安装pip,binggo!成功了。
这样子python2.7和pip就可以使用了哦。