1. 背景描述
在工作过程中,安装好的操作系统自带的Python版本不满足要求。此时需要将自带的Python卸载后重新安装。比如在安装大数据模型推理服务MindIE的时候,要求的Python版本是3.10.X或者3.11.X。操作系统自带的Python版本是2.7.5版本。
该文档以centos操作系统为例来示范卸载和安装Python的操作介绍。
2. Python卸载
检查一下当前操作系统中自带的Python版本信息
[root@nginx01 bin]# whereis python
Python 2.7.5
卸载方式有两种
一是通过包管理器来卸载,以centos操作系统为例说明,如下图所示

这种方式个人不太建议。最好是根据需要,手动卸载操作系统自带的python,然后安装自己想要的版本。
第二种卸载Python的方式是手动卸载
首显示查看一下操作系统中安装的Python的信息,如下图所示


卸载完成后,需要去清理一下残留的文件,例如在/usr/bin目录下的一些软连接(符号链接)
[root@nginx01 bin]# pwd
/usr/bin
[root@nginx01 bin]# ll | grep python
lrwxrwxrwx. 1 root root 9 Apr 12 10:02 python2 -> python2.7
lrwxrwxrwx. 1 root root 39 Apr 12 11:06 python3 -> /usr/local/python3.10.16/bin/python3.10
卸载以后,这个python2的符号链接就失效了,建议删除
注意:最好是不要卸载,因为操作系统自带的Python,被yum包管理工具依赖。如果卸载了,那操作系统的yum就不能用了。
3. Python安装
在安装python之前,需要确保依赖已经全部安装好。
# 安装Python所需的依赖
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
3.1 下载Python的安装包
以下载3.10.16版本为例说明,浏览器下载的方式如下
Python的下载地址
如果是后台节点下载,可以使用如下命令
[root@nginx01 home]# wget https://www.python.org/ftp/python/3.10.16/Python-3.10.16.tgz
--2025-04-12 11:59:06-- https://www.python.org/ftp/python/3.10.16/Python-3.10.16.tgz
Resolving www.python.org (www.python.org)... 151.101.128.223, 151.101.64.223, 151.101.192.223, ...
Connecting to www.python.org (www.python.org)|151.101.128.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 25942994 (25M) [application/octet-stream]
Saving to: ‘Python-3.10.16.tgz’
100%[===========================================================================================================>] 25,942,994 5.52MB/s in 9.8s
2025-04-12 11:59:32 (2.52 MB/s) - ‘Python-3.10.16.tgz’ saved [25942994/25942994]
[root@nginx01 home]# ll
total 25336
drwxr-xr-x. 3 root root 54 Apr 12 10:27 python
-rw-r--r--. 1 root root 25942994 Dec 3 13:33 Python-3.10.16.tgz
[root@nginx01 home]#
3.2 解压
执行如下命令将下载好的Python源码包进行解压,建议规划一个合适的目录
[root@nginx01 home]# pwd
/home
[root@nginx01 home]# ll
total 25336
drwxr-xr-x. 3 root root 54 Apr 12 10:27 python
-rw-r--r--. 1 root root 25942994 Dec 3 13:33 Python-3.10.16.tgz
[root@nginx01 home]# tar -zxvf Python-3.10.16.tgz
解压完成后进入目录
[root@nginx01 home]# cd python/
[root@nginx01 python]# ll
total 25340
drwxr-xr-x. 17 root root 4096 Apr 12 10:48 Python-3.10.16
-rw-r--r--. 1 root root 25942994 Apr 12 10:26 Python-3.10.16.tgz
[root@nginx01 python]# cd Python-3.10.16/
[root@nginx01 Python-3.10.16]# ll
total 58032
-rw-r--r--. 1 root root 22792 Dec 3 12:27 aclocal.m4
drwxr-xr-x. 5 root root 85 Apr 12 10:47 build
-rw-r--r--. 1 root root 630 Dec 3 12:27 CODE_OF_CONDUCT.md
-rwxr-xr-x. 1 root root 49348 Dec 3 12:27 config.guess
-rw-r--r--. 1 root root 972390 Apr 12 10:34 config.log
-rwxr-xr-x. 1 root root 42119 Apr 12 10:34 config.status
-rwxr-xr-x. 1 root root 35276 Dec 3 12:27 config.sub
-rwxr-xr-x. 1 root root 525012 Dec 3 12:27 configure
-rw-r--r--. 1 root root 179099 Dec 3 12:27 configure.ac
drwxr-xr-x. 18 root root 4096 Dec 3 12:27 Doc
drwxr-xr-x. 2 root root 39 Dec 3 12:27 Grammar
drwxr-xr-x. 4 root root 4096 Dec 3 12:27 Include
-rwxr-xr-x. 1 root root 15368 Dec 3 12:27 install-sh
drwxr-xr-x. 35 root root 8192 Apr 12 10:48 Lib
-rw-r--r--. 1 root root 40749568 Apr 12 10:48 libpython3.10.a
-rw-r--r--. 1 root root 13936 Dec 3 12:27 LICENSE
drwxr-xr-x. 8 root root 164 Dec 3 12:27 Mac
-rw-r--r--. 1 root root 82919 Apr 12 10:34 Makefile
-rw-r--r--. 1 root root 73809 Apr 12 10:34 Makefile.pre
-rw-r--r--. 1 root root 74029 Dec 3 12:27 Makefile.pre.in
drwxr-xr-x. 2 root root 4096 Apr 12 10:34 Misc
drwxr-xr-x. 14 root root 8192 Apr 12 10:48 Modules
drwxr-xr-x. 4 root root 8192 Apr 12 10:47 Objects
drwxr-xr-x. 2 root root 4096 Apr 12 10:47 Parser
drwxr-xr-x. 5 root root 4096 Dec 3 12:27 PC
drwxr-xr-x. 2 root root 8192 Dec 3 12:27 PCbuild
-rw-r--r--. 1 root root 0 Apr 12 10:47 profile-run-stamp
drwxr-xr-x. 2 root root 179 Apr 12 10:48 Programs
-rw-r--r--. 1 root root 27 Apr 12 10:48 pybuilddir.txt
-rw-r--r--. 1 root root 48834 Apr 12 10:34 pyconfig.h
-rw-r--r--. 1 root root 46565 Dec 3 12:27 pyconfig.h.in
-rwxr-xr-x. 1 root root 16152792 Apr 12 10:48 python
drwxr-xr-x. 3 root root 8192 Apr 12 10:48 Python
-rw-r--r--. 1 root root 3104 Apr 12 10:46 python-config
-rw-r--r--. 1 root root 2058 Apr 12 10:46 python-config.py
-rw-r--r--. 1 root root 65727 Apr 12 10:46 python-gdb.py
-rw-r--r--. 1 root root 10135 Dec 3 12:27 README.rst
-rw-r--r--. 1 root root 117089 Dec 3 12:27 setup.py
drwxr-xr-x. 23 root root 4096 Dec 3 12:27 Tools
3.3 检测系统环境
在进行编译安装之前,需要设只一些编译选项。Python编译安装的时候推荐设置一下编译选项
选项说明:
--prefix:用于指定了安装路径。如果不设置,会导致安装冲突。建议根据版本规划目录
--enable-optimizations:用于优化Python的性能
./configure --prefix=/usr/local/python3.10.16 --enable-optimizations
检测完成后执行如下命令进行编译和安装
# 编译
make
# 编译安装
make install
编译安装完成后验证
[root@nginx01 Python-3.10.16]# /usr/local/python3.10.16/bin/python3 --version
Python 3.10.16
[root@nginx01 Python-3.10.16]#
3.4 创建软连接(符号链接)
为了方便命令执行,建议创建符号链接。创建方式如下
[root@nginx01 bin]# ln -s /usr/local/python3.10.16/bin/python3.10 /usr/bin/python3
[root@nginx01 bin]# python3 --version
Python 3.10.16
[root@nginx01 bin]# ll | grep python
lrwxrwxrwx. 1 root root 9 Apr 12 10:02 python2 -> python2.7
lrwxrwxrwx. 1 root root 39 Apr 12 11:06 python3 -> /usr/local/python3.10.16/bin/python3.10
[root@nginx01 bin]# rm -f python2
[root@nginx01 bin]# ll | grep python
lrwxrwxrwx. 1 root root 39 Apr 12 11:06 python3 -> /usr/local/python3.10.16/bin/python3.10
[root@nginx01 bin]#
[root@nginx01 bin]#
[root@nginx01 bin]# ln -s /usr/local/python3.10.16/bin/pip3 /usr/bin/pip3
[root@nginx01 bin]# ll | grep pip
-rwxr-xr-x. 1 root root 2291 Jul 30 2015 lesspipe.sh
lrwxrwxrwx. 1 root root 33 Apr 12 11:11 pip3 -> /usr/local/python3.10.16/bin/pip3
3.5 设置环境变量
Python安装完成后,建议设置环境变量。设置方式如下所示
# 编辑/etc/profile配置文件
vim /etc/profile
# 在文件末尾追加如下内容
export PATH=$PATH:/usr/local/python3.10.16/bin
# 保存退出后,使用source命令使配置生效
source /etc/profile

3375

被折叠的 条评论
为什么被折叠?



