解决CentOS升级Python和Pip后版本不生效问题
本文详细记录在CentOS系统中升级Python和Pip后,执行版本查看命令仍显示旧版的问题。核心原因在于系统软链接未指向新版本。文章提供了修改Python软链接的具体命令步骤,以及针对CentOS6和Pip升级失败时的文件内容修改方案,帮助服务器管理员快速解决版本切换失效的困扰。
问题背景与概述
前言
近期在更新服务器上的Python及Pip版本时,遇到了一个常见但棘手的问题:虽然升级指令执行成功并显示Successfully Complete!,但通过python -V或pip -V检查时,系统仍显示旧版本。经过排查,发现是软链接指向未更新所致。现将解决过程整理如下,供遇到相同情况的读者参考。
Python版本升级与软链接配置
Python版本升级与软链接修改
本文以CentOS7.7系统为例,后续也会补充CentOS6的处理方式。首先,执行以下命令安装Python3:
yum install python3 -y
若安装顺利,系统会提示成功。接着,我们需要检查当前Python软链接的指向情况,执行如下命令:
ll /usr/bin/python*

从上述查询结果可以看出,尽管Python3已成功安装,但系统默认的python命令仍指向python2。这就是为什么执行python -V查看版本时,依然显示旧版Python的原因。为了解决这个问题,我们需要重新设置软链接,具体操作分为两步:
mv python python.bak #更改原先python的软连接
ln -s /usr/bin/python3 /usr/bin/python
执行上述两条命令后,软链接应已成功修改。此时,再次运行之前查看软链接的命令ll /usr/bin/python*进行验证,结果如下:

最后,执行python -V命令确认,若显示新版Python,则说明修改成功。

CentOS6系统处理方案
CentOS6系统的特殊处理
[root@Centos6 ~]# python -V
Python 2.6.6
[root@Centos6 ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[root@Centos6 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
[root@Centos6 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
[root@Centos6 ~]# yum makecache
[root@Centos6 ~]# wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
[root@Centos6 ~]# tar xf Python-3.8.1.tgz
[root@Centos6 ~]# cd Python-3.8.1
[root@Centos6 ~]# yum install -y perl gcc make kernel-headers kernel-devel zlib*
[root@Centos6 ~]# ./configure --prefix=/usr/local/python3
[root@Centos6 ~]# make && make install
[root@Centos6 ~]# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
[root@Centos6 ~]# ll /usr/bin/python*
-rwxr-xr-x. 2 root root 4864 Aug 18 2019 /usr/bin/python
lrwxrwxrwx. 1 root root 6 Nov 19 11:07 /usr/bin/python2 -> python
-rwxr-xr-x. 2 root root 4864 Aug 18 2019 /usr/bin/python2.6
lrwxrwxrwx 1 root root 30 Jan 3 12:07 /usr/bin/python3 -> /usr/local/python3/bin/python3
[root@Centos6 ~]# python3 -V
Python 3.8.1
Pip版本升级失效解决
Pip版本升级问题
Pip升级后出现版本不一致的情况与Python类似。即使升级指令执行完毕,运行pip -V仍显示旧版。解决方法如下,首先执行升级命令:
python3 -m pip install --upgrade pip
出现该问题的根本原因是pip脚本文件内部的版本号未更新。我们需要修改该文件以指向新版本。首先,通过以下命令查看pip文件的具体内容:
vim /usr/bin/pip

修改后的文件内容应包含新版本的引用路径。

完成修改后,再次执行pip -V命令,确认Pip已更新至最新版本。

以上就是关于解决CentOS升级Python和Pip后版本不生效问题的完整步骤。如需了解更多相关技术内容,欢迎查阅本站其他文章或继续关注后续更新,感谢支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













