CentOS 7 python2.7 卸载并重新安装

平台环境

Linux 版本为CentOS 7.6

[root@localhost Packages]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

问题描述

[root@localhost python]# yum -y install python-devel
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: mirror.lzu.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package python-devel.x86_64 0:2.7.5-76.el7 will be installed
--> Processing Dependency: python(x86-64) = 2.7.5-76.el7 for package: python-devel-2.7.5-76.el7.x86_64
--> Finished Dependency Resolution
Error: Package: python-devel-2.7.5-76.el7.x86_64 (rhel-source)
           Requires: python(x86-64) = 2.7.5-76.el7
           Installed: python-2.7.5-86.el7.x86_64 (@rhel-source)
               python(x86-64) = 2.7.5-86.el7
           Available: python-2.7.5-76.el7.x86_64 (rhel-source)
               python(x86-64) = 2.7.5-76.el7
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

提示已经安装了python-2.7.5-86.el7.x86_64,但是需要 python-2.7.5-76.el7.x86_64 ,差异是一个小的迭代版本。

先是尝试直接删除已经安装的,不过提示下面错误:

[root@localhost python]# rpm -e python-2.7.5-86.el7.x86_64
error: Failed dependencies:
        python >= 2.2 is needed by (installed) pyxattr-0.5.1-5.el7.x86_64
        python >= 2.4 is needed by (installed) yum-3.4.3-161.el7.centos.noarch
        python is needed by (installed) authconfig-6.2.8-30.el7.x86_64
        python is needed by (installed) pykickstart-1.99.66.21-1.el7.noarch
        python >= 2.1 is needed by (installed) createrepo-0.9.9-28.el7.noarch

后面采用了直接忽略错误的方式:

[root@localhost python]# rpm -ev python-2.7.5-86.el7.x86_64 --nodeps
Preparing packages...
python-2.7.5-86.el7.x86_64
[root@localhost python]#

不料,结果又出现了新的问题:

[root@localhost python]# yum -y install python-devel
bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory
[root@localhost python]# yum -y install python
bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory

解决过程

删除现有 python

[root@localhost python]# rpm -qa|grep python | xargs rpm -ev --allmatches --nodeps ##强制删除已安装程序及其关联
[root@localhost python]# whereis python | xargs rm -frv      ##删除所有残余文件 ##xargs,允许你对输出执行其他某些命令
[root@localhost python]# whereis python                      ##验证删除,返回无结果

删除现有的 yum

[root@localhost python]# rpm -qa | grep yum | xargs rpm -ev --allmatches --nodeps
[root@localhost python]# whereis yum | xargs rm -frv

下载相应 RPM 包

下载路径:
https://vault.centos.org/7.6.1810/os/x86_64/Packages/

注意核对自己CentOS( Linux) 版本,查看方式如下:

[root@localhost Packages]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

所需安装包分别如下:

wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/python-2.7.5-76.el7.x86_64.rpm
wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/python-devel-2.7.5-76.el7.x86_64.rpm
wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/python-libs-2.7.5-76.el7.x86_64.rpm
wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm
wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/python-setuptools-0.9.8-7.el7.noarch.rpm
wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/python-urlgrabber-3.10-9.el7.noarch.rpm
wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/rpm-python-4.11.3-35.el7.x86_64.rpm

wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/yum-3.4.3-161.el7.centos.noarch.rpm
wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/yum-utils-1.1.31-50.el7.noarch.rpm
wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm
wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/yum-plugin-protectbase-1.1.31-50.el7.noarch.rpm
wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/yum-plugin-aliases-1.1.31-50.el7.noarch.rpm

安装python

建议使用 --nodeps --force,即不考虑依赖包,强制安装。

[root@localhost python]# rpm -ivh python-* rpm-python-*
warning: python-2.7.5-76.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
        python-backports-ssl_match_hostname is needed by python-setuptools-0.9.8-7.el7.noarch

[root@localhost python]# rpm -ivh python-*   rpm-python-* --nodeps --force
warning: python-2.7.5-76.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:python-libs-2.7.5-76.el7         ################################# [ 13%]

安装yum

[root@localhost python]# rpm -ivh yum-*
warning: yum-3.4.3-161.el7.centos.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
        libxml2-python is needed by yum-utils-1.1.31-50.el7.noarch
        python-kitchen is needed by yum-utils-1.1.31-50.el7.noarch

[root@localhost python]# rpm -ivh yum-* --nodeps --force
warning: yum-3.4.3-161.el7.centos.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:yum-metadata-parser-1.1.4-10.el7 ################################# [ 17%]
   2:yum-plugin-fastestmirror-1.1.31-5################################# [ 33%]
   3:yum-3.4.3-161.el7.centos         ################################# [ 50%]
   4:yum-utils-1.1.31-50.el7          ################################# [ 67%]
   5:yum-plugin-aliases-1.1.31-50.el7 ################################# [ 83%]
   6:yum-plugin-protectbase-1.1.31-50.################################# [100%]
[root@localhost python]#
### 如何彻底卸载 Python 2.7 清理残留文件 在某些情况下,为了确保系统的稳定性以及避免潜在的冲突问题,在卸载 Python 2.7 后需要进行一系列清理操作。以下是具体的步骤: #### 卸载 Python 2.7 的方法 对于 CentOS 或类似的 Linux 发行版,如果系统自带了 Python,则不建议直接通过 `yum` 或者手动方式完全移除它,因为这可能导致系统核心功能失效[^2]。 然而,如果是用户自行安装的 Python 2.7 版本而非系统默认版本,可以通过以下命令来完成卸载清理残留文件: 1. **确认当前使用的 Python 版本** 需要先检查当前运行的是哪个版本的 Python: ```bash python --version ``` 2. **定位自定义安装路径** 如果是通过源码编译的方式安装的 Python 2.7,默认会在 `/usr/local/bin/python2.7` 路径下存在可执行文件。可以尝试删除该目录下的相关文件: ```bash rm /usr/local/bin/python2.7 ``` 3. **使用包管理工具卸载(适用于通过包管理器安装的情况)** 对于 Ubuntu/Debian 类发行版,可以利用 `apt-get` 来卸载 Python 及其关联组件: ```bash sudo apt-get remove --purge python2.7-minimal sudo apt-get autoremove ``` 4. **清理残留配置和数据** 删除可能存在的残余配置文件和其他相关内容: ```bash find / -name "*python2.7*" | grep -v "lib" ``` 找到的结果可以根据实际情况决定是否删除。注意不要误删重要系统文件。 5. **验证卸载情况** 再次检查是否存在任何与 Python 2.7 相关的信息: ```bash which python2.7 ``` 若返回为空则说明已经成功清除。 以上过程能够帮助实现较为完整的 Python 2.7 移除工作,但仍需谨慎对待涉及系统级的操作以防意外损坏环境设置[^1]。 ```bash # 示例脚本用于批量处理部分常见场景中的Python2.7相关文件夹及链接 find /usr/local/lib -maxdepth 1 -type d -name 'python2*' -exec rm -rf {} \; rm -f /usr/local/bin/python2* ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值