CentOS7下安装python3.8.12

在CentOS7系统下,默认安装的Python版本为2.7.5,如下是安装Python3.8版本的方法。

一、安装依赖环境

命令如下:

1
yum install gcc glibc make libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel -y

二、从Python官网下载Python3.8.12压缩包

python官网https://www.python.org/ 目前python最新版本是python3.10

1
wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz

三、使用tar命令解压Python3.8.12压缩包

1
tar -zxvf Python-3.8.12.tgz

四、编译安装Python3.8.12

1
2
3
4
5
6
7
8
# 进入解压后的Python3.8.12目录,使用以下命令进行编译和安装:
[root@localhost~]# cd Python-3.8.12/
[root@localhost Python-3.8.12]# ./configure
或者加参数指定安装路径
[root@localhost Python-3.8.12]# ./configure --prefix=/usr/local/python3.8

[root@localhost Python-3.8.12]# make && make install
执行完成后,显示安装成功。

五、创建软连接

python3.8.12安装成功了,但执行python -V命令还是显示是2.7版本的。如果要用python3.8.12需要输入python3即可,如果觉得不太方便。可以通过修改软链接的方式将默认的python指向python3.8.12。
先看一下默认的python及新安装的python3都安装在哪里。

1
2
3
4
[root@localhost Python-3.8.12]# which python
/usr/bin/python
[root@localhost Python-3.8.12]# which python3
/usr/local/bin/python3

默认的python路径为/usr/bin/python,python3的路径为/usr/local/bin/python3
将python3的软链接加到python上

1
2
[root@localhost Python-3.8.12]# mv /usr/bin/python /usr/bin/python.bak
[root@localhost Python-3.8.12]# ln -s /usr/local/bin/python3 /usr/bin/python

python -V命令查看python版号,这时python的版本已经是3.8.12了。

1
2
[root@localhost Python-3.8.12]# python -V
Python 3.8.12

pip命令也可以修改,python3.8.12默认的pip是pip3,CentOS7的python2.7默认没有安装pip.
输入pip命令的时候提示命令没有找到

1
2
[root@localhost Python-3.8.12]# pip
bash: pip: command not found...

这时也可以通过建立软链接的方式将pip命令链接到pip3上。首先看pip3命令在哪?

1
2
[root@localhost Python-3.8.12]# which pip3
/usr/local/bin/pip3

然后建立pip到pip3的软链接

1
2
3
[root@localhost Python-3.8.12]# ln -s /usr/local/bin/pip3 /usr/bin/pip
[root@localhost Python-3.8.12]# pip -V
pip 21.1.1 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)

六、设置环境变量

安装python3改完软链接以后发现yum命令报错了,yum是依赖python2.7的,你把python改成了3.8了,所以报错了。

1
2
3
4
5
[root@localhost Python-3.8.12]# yum
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax

可以修改yum里对python2的依赖即可。虽然安装了python3但是系统里python2依旧还在系统里,可以通过python2来指定用python2.7的命令,首先来看下python2的命令在哪里

1
2
[root@localhost ~]# which python2
/usr/bin/python2

可以cd到/usr/bin目录下 通过ls -alh|grep python查看python命令的详细情况。

1
[root@localhost bin]# ls -alh|grep python

可以看到python软连接是执行的python3命令,python2是执行的python2.7的命令

编辑/usr/libexec/urlgrabber-ext-down,修改第一行。

1
[root@localhost bin]# vi /usr/libexec/urlgrabber-ext-down

修改对python的依赖,修改成python2或python2.7都可以。

1
2
3
4
5
6
7
8
9
10
vim /etc/profile

# 在文件末尾添加以下内容:

export PATH=$PATH:/usr/local/python3.6/bin

# 保存并退出。
# 使用source命令使环境变量生效:

source /etc/profile

编辑/usr/bin/yum,修改第一行。

1
[root@localhost bin]# vi /usr/bin/yum

修改成python2或python2.7都可以。
改完这两个文件后,再使用yum命令就不会报错了。


CentOS7下安装python3.8.12
http://anximin.github.io/2023/12/15/Linux_centos7_python3-8-12/
作者
Sylar
发布于
2023年12月15日
许可协议