python3.jpg

前言

就在这几天喵斯基部落准备给自己的服务器部署 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

相关推荐

  1. Ubuntu/Debian 系统安装配置 UFW 简单防火墙
  2. CentOS 7 安装使用 iptables 防火墙方法介绍
  3. Linux 服务器配置密钥实现远程免密登录
  4. CentOS 7 firewalld 防火墙常用命令汇总
  5. 如何给Redis设置临时或永久密码?
  6. 在Linux系统中安装配置使用DenyHosts防护工具
文章作者:喵斯基部落
原文地址:https://www.moewah.com/archives/391.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。