自带python2.6.6升级到python2.7.5后,(按照这种方法安装:https://blog.csdn.net/jcjc918/article/details/11022345)发现在使用过程中会报如下错误:
ImportError: No module named zlib
而且通过如下方法无法解决:
yum -y install zlib zlib-devel openssl
注:如果直接升级到3.5就不会有这个问题。如:https://blog.csdn.net/liuxiao723846/article/details/84946353
正确的升级方法:
0、先安装gcc环境,否则编译python时报错:
yum -y install gcc
1、下载zlib源码文件,编译、安装:
# cd /usr/local
# wget http://www.zlib.net/zlib-1.2.11.tar.xz
# tar -xvf zlib-1.2.11.tar.xz
# cd zlib-1.2.11
# ./configure && make && make install
注:zlib安装完后,libz.a在/usr/local/lib/,zlib.h文件在/usr/include (opensuse中zlib.h默认放在/usr/local/include/中)
2、下载python2.7.5、编译、安装:
# cd /usr/local
# wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2
# tar -jxvf Python-2.7.5.tar.bz2
# cd Python-2.7.5
# ./configure --prefix=/usr/local/python275 #安装在新目录,防止覆盖系统默认安装的python
# make && make install
然后将python环境设置一下:
# cd /usr/bin
# ll python*
# mv python python26.bak #备份旧python
# ln -s /usr/local/python275/bin/python2 /usr/bin/python #建立软连接,使系统默认的python指向python2
# cd /usr/local/bin
# ll python*
# rm -rf python
# ln -s /usr/local/python275/bin/python2 /usr/local/bin/python #建立软连接,使系统默认的python指向python2
3、修改yum:
因为yum使用python2,因此替换为python3后可能无法正常工作,继续使用这个python2.6.6。
因此修改yum配置文件(# vi /usr/bin/yum)。 把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.6保存退出即可