前言
就在这几天喵斯基部落准备给自己的服务器部署 ServerStatus 客户端的时候发现Python版本过低(哈哈我还在使用Python2.6尴尬了)现在很多软件安装也要求Python 3以上,而Python在CentOS 6默认是2.6版本,CentOS 7是2.7版本,所以我们需要手动升级Python版本来达到软件编译的最低要求。所以这篇文章记录下在CentOS系统下从Python2.6升级到Python3.6.0的整个过程及在升级过程需要注意的地方。
相关文章《CentOS6系统更新Python2.6至Python2.7详细步骤》
环境准备
1、编译器都准备起来
yum install gcc gcc-c++ autoconf automake
2、安装依赖环境
yum -y groupinstall development zlib zlib-devel wget
安装/升级
cd /tmp && wget http://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
tar -xzvf Python-3.6.0.tgz
cd Python-3.6.0
在编译前先在/usr/local
建一个文件夹python3
(作为python的安装路径,以免覆盖老的版本)
mkdir -p /usr/local/python3
开始编译,如果因为系统原因make install时出现zipimport.ZipImportError: can't decompress data
错误,请先执行yum -y install zlib
后再编译安装。
./configure --prefix=/usr/local/python3
make && make install
将原来/usr/bin/python
链接改为别的名字
mv /usr/bin/python /usr/bin/python_2.6.6
建立软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python
检查版本变化
python -V
没有意外的话,已经升级为 Python 3.6.0(如果没有请自查)
问题解决
Yum 无法使用
升级Python
后会造成yum
命令工具不可用
解决方案:修改yum
文件指定的Python
版本为旧版本
vim /usr/bin/yum
查看当前存在的Python
版本
whereis python
我这里显示的信息如下:
python: /usr/bin/python /usr/bin/python2.6 /usr/lib/python2.6 /usr/lib64/python2.6 /usr/include/python2.6 /usr/share/man/man1/python.1.gz
将文件头部的#!/usr/bin/python
改为#!/usr/bin/python2.6
(请根据自己的情况指定Python版本)
修改完成后yum
命令工具恢复工作。
pip使用报错
注:Python3.x默认会自动安装pip、setuptools,如果在安装后依旧出现下面问题,可以根据对应的解决方案自行处理。
报错信息如下:
Traceback (most recent call last):
File "/usr/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
解决方案:
1、安装setuptools
cd /tmp && wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz
tar -zxvf setuptools-19.6.tar.gz
cd setuptools-19.6
python setup.py build
python setup.py install
# 注意:我这里的Python版本已经更新为3.6.0了
2、升级pip版本
cd /tmp && wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-19.2.1.tar.gz
tar -zxvf pip-19.2.1.tar.gz
cd pip-19.2.1
python setup.py build
python setup.py install
# 注意:我这里的Python版本已经更新为3.6.0了
3、建立软链接
mv /usr/bin/pip /usr/bin/pip_old
ln -s /usr/local/python3/bin/pip /usr/bin/pip
相关推荐
- Ubuntu/Debian 系统安装配置 UFW 简单防火墙
- CentOS 7 安装使用 iptables 防火墙方法介绍
- Linux 服务器配置密钥实现远程免密登录
- CentOS 7 firewalld 防火墙常用命令汇总
- 如何给Redis设置临时或永久密码?
- 在Linux系统中安装配置使用DenyHosts防护工具
文章作者:喵斯基部落
原文地址:https://www.moewah.com/archives/391.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。