升级python的时候,一定要注意的是yum依赖的python是不能删除的,不然就会导致yum不能使用更新完事python后,我们需要重新的安装一下pip,不然pip回认为是老的python库。
Python镜像地址
https://www.python.org/ftp/python/
下载镜像
#下载3.6.2 版本
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
#解压文件
tar -zxvf Python-3.6.2.tgz
#安装编译所以来的工具
yum install -y make gcc gcc-c++
yum -y install zlib*
yum install openssl -y
yum install openssl-devel -y
#配置python
./configure
#编译并安装
#默认编译安装的python位置在”/usr/local/bin/“目录下
make && make install
#查看安装好的python
ll /usr/local/bin/py*
安装编译所以来的工具
执行./configure
编译安装成功
可以看到,我们的python3.6已经安装上了。
修改软链接
我们虽然是装好了python3.6 ,但是在系统的/usr/bin/
目录下面,还是老的python,所以需要设定软连接
ll /usr/bin/python*
在途中可以看到,python 直接软连接到了python2,然后python2最后软连接到了python2.7上,yum依赖于python2.7版本,所以我们之能配置python的软连接为python3.6,老的pytohn2,我们不做修改。
1.链接python到python3.6
#删除原来的软连接
rm -f /usr/bin/python
#新建软连接
ln -s /usr/local/bin/python3 /usr/bin/python
#查看python信息
ll /usr/bin/python*
#查看版本信息
python -V
python2 -V
2.修改yum配置
修改/usr/bin/yum
和/usr/bin/applydeltarpm
这两个文件,设定为默认的python版本,这样yum才能正常使用。
#编辑yum
vim /usr/bin/yum
#这个配置文件负责下载yum安装文件的,也是需要修改为python2,默认的python版本
vim /usr/bin/applydeltarpm
#将
#!/usr/bin/python
修改为下面的,使用的是原来的python2.7的脚本,这样yum才能正常使用,不然报错。
#!/usr/bin/python2
3.升级并修改pip
我们需要手动的修改pip引用的python的版本。不然就会导致pip认为的python版本和我们自己目前的版本不一致。
#升级pip
python -m pip install --upgrade --force pip
#修改pip
vim /usr/bin/pip
#修改python2 为python
#!/usr/bin/python
常见问题
1 zipimport.ZipImportError: can’t decompress data; zlib not available
导致这个问题的原因,是服务中,缺少zlib的依赖包所导致的这个问题。
yum -y install zlib*
2 yum 启动有问题
由于我们的python换成了3.6的版本,而yum使用默认是python脚本,这样就导致yum依赖的python脚本有问题,我们需要手动修改/usr/bin/yum
将#!/usr/bin/python
修改为#!/usr/bin/python2