centos7自带版本是python2.7,在使用过程中会出现其他软件不兼容的情况,需要安装python3版本,但在centos7上还有许多是依赖python2执行的,例如 yum等,所以我们要安装环境并进行配置,下面是详细的步骤。
安装环境
1、解压Python安装包
首先从官网下载你所需要的python3版本(我使用的是3.8.5),在官网中没有linux版本的python,只能下载源码进行安装,将下载的tar包上传到linux系统上并进行解压。
tar -zxvf Python-3.8.5.tgz
2、安装编译相关工具
python底层使用C写的,所以需要对python源码进行编译
下载开发工具包
yum -y groupinstall "Development tools"
安装依赖
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install libffi-devel -y
3、编译、安装Python
python一般安装在/usr/bin/目录下,我们可以通过
ll /usr/bin/ |grep python
查看原来python2的软链接
-rwxr-xr-x. 1 root root 11232 Aug 13 2021 abrt-action-analyze-python
lrwxrwxrwx. 1 root root 7 May 17 11:36 python -> python2
lrwxrwxrwx. 1 root root 9 May 17 11:36 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 Aug 7 2021 python2.7
下面我们需要创建编译python3的安装目录
mkdir /usr/local/python3 #创建编译安装目录
再进入你解压的python文件之中,检测安装环境指定自己创建的安装目录 /usr/local/python3 ,如果过程出现报错,需要查看依赖安装是否出现问题
cd Python-3.8.5
./configure --prefix=/usr/local/python3
make && make install #编译 和 安装
安装出现下面两行就成功了(中间有警告不用管)
Installing collected packages: setuptools, pip
Successfully installed pip-20.1.1 setuptools-47.1.0
这样你的python3环境就已经安装成功了,下面需要进行配置
配置法一(推荐)
1、创建软连接
#查看当前python软连接
ll /usr/bin/ |grep python
系统默认安装的是python2.7 删除python软连接
rm -rf /usr/bin/python
#配置软连接为python3
ln -s /usr/local/python3/bin/python3 /usr/bin/python
这个时候看下python默认版本
python -V
版本就为python3了
删除默认pip软连接,并添加pip3新的软连接
rm -rf /usr/bin/pip
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
2、更改yum配置
因为yum要用到python2才能执行,否则会导致yum不能正常使用(不管安装 python3的那个版本,都必须要做的)
vi /usr/bin/yum
把 #! /usr/bin/python 修改为 #! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
把 #! /usr/bin/python 修改为 #! /usr/bin/python2
vi /usr/bin/yum-config-manager
#!/usr/bin/python 改为 #!/usr/bin/python2
配置法二
如果需要Python2和3版本同时存在 那么就不要删除之前的软链接 创建Python3软连接即可
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
但在之后需要使用python3运行程序时,需要打印python3,不然系统默认使用自带的。