修改Centos7默认python2版本为python3

449 阅读2分钟

一:下载部署python3

公司使用的生产环境系统是centos7,所以这里以centos7系统为基础,讲解将python2升级为python3的方法

centos7系统默认已经安装了python2.7,但是python2的生命周期到2020年1月1日就会终结,在这个时间点之后出现的任何问题都不会再维护

所以将现有用python2开发的系统升级为python3成为当务之急

官方文档描述如下

DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.

 

那么,我们开始对系统的python版本进行升级,升级非常简单

  1. 安装python依赖包,主要是gcc编译环境,zlib解压缩包等
yum groupinstall "Development tools" -y
yum install –y --setopt=protected_multilib=false gcc zlib zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel 
 

 

 

  1. 使用源码方式编译安装python3,必须执行编译安装,否则在安装 Python 库依赖时会有麻烦

复制代码

cd /usr/local/src
# 下载python3.7.5源码包
wget -c https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
# 解压源码包
tar -zxvf Python-3.7.5.tgz
cd Python-3.7.5
# 编译安装
./configure --prefix=/usr/local --enable-shared && make && make install

echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf
# 在缓存文件/etc/ld.so.cache中追加进指定目录下的共享库
ldconfig
# 对python3可执行文件建软连接
ln -s /usr/local/bin/python3 /usr/bin/python3

复制代码

 

 

  1. 测试安装第三方包,python3的源码包里已经包含pip包管理工具,不需要再额外安装,也就是不需要再yum install -y  python-pip 
pip3 install pandas

二:将python3改为系统默认环境

1.删除/usr/bin目录下的python link文件

sudo rm -rf /usr/bin/python

2、删除后再建立新的链接关系:

sudo ln -s /usr/bin/python3 /usr/bin/python

3、输入python测试

三、改为python3环境之后yum下载环境会有问题,解决如下

vim /usr/bin/yum
# 把文件头部的   #!/usr/bin/python   改成    #!/usr/bin/python2.7
vim /usr/libexec/urlgrabber-ext-down
# 把文件头部的   /usr/bin/python     改成    /usr/bin/python2.7
vim /usr/bin/yum-config-manager
# 把文件头部的   #!/usr/bin/python   改成    #!/usr/bin/python2.7