之前都是直接备份成别的名称不会管它的,刚才看到有 3 个启动方式,如是就删了其中一个,没太注意其他 2 个都是链接删除的哪个的,结果就悲剧了呀!!
重新安装了 python2.7.5, 将新装的 python2.7.5 软连接到 /usr/bin/yum
文件里对应的 python 解释器路径,没能解决
尝试到 centos 网站下载官方( python***-****.rpm )包(一共 6 个包), 在使用 rpm 安装过程中报错了
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
软件包并没有安装上,对 linux 不怎么熟, 有大佬指点一下吗?感谢!
去 python 官网下 tar.gz 包,解压,make&&make install
然后楼主发现没装 build_essential...
找到 yum 修改第一行的 path 即可
楼主在 yum 里改过配置后报什么错?
之前的一篇帖子不知道有没有帮助:
http://jiezhi.github.io/2016/03/05/centos6-install-python2-7/
我就是下载了 Python2.7.5.tar.gz ,解压 make&&make install, 新装的 2.7.5 已经软连接到 /usr/bin/yum 的第一行 path 了, 无效啊, 第二段就是这个方法
哈哈哈 lz 这水平是有可能
节哀顺变,重装 /用快照恢复了事。
你不是需要拯救的手段,你更需要 pyenv 和 virtualenv
之前我就是这样做的,今天脑残把自带的直接 python 删了,之后自己装的 python (和自带的版本号是一样) yum 还是报错
你水平很牛逼?
都 8102 年了,还有删除自带 python 的
安装 2.7.5 修改 yum 配置的路径
使劲拍拍,重启试试
同掉过这个坑的路过
YUM 是一个 Python 程序,你删除了系统内置的 Python 当然就不能运行了。更严重的问题是,你系统中还不知道有多少应用程序、第三方库依赖这个 Python 版本,现在它们都无法运行了。不清楚楼主删除系统内置 Python 的原因,猜测这是一个 X-Y 问题( https://coolshell.cn/articles/10804.html )。
再说修复方法:
1. 不要尝试 1 楼所讲的自己编译 Python。因为你的机器几乎肯定没有安装支持的编译工具和依赖,而且就算编译并安装成功了,你系统中已安装的 Python 第三方库可能因版本兼容或者安装位置不同而无法正常运作,而且以后官方源中的所有 python 第三方库及应用可能都无法与你自己安装的 Python 兼容。
2. 如果可能,最简单的方法是备份数据后重装系统。
3. 如果要针对现有版本进行修复,建议使用 rpm 工具重装 Python 解释器。首先你要了解之前系统中的 python 的 rpm 包是哪个,然后重装对应版本完全相同的 RPM 包。可以尝试运行 `rpm -qa | grep python-2`看一下之前系统中安装的 rpm 包名,然后尝试用`rpm -ivh --replacepkgs --replacefiles 文件路径`进行重新安装。`文件路径`可以是本地文件也可以是 URL。
从新装一个,你也是心大不知道 yum 基于 py2 吗,你要改好多依赖;如果是服务器最快的方式是恢复
为什么老有人喜欢删这个,有强迫症还是很危险,v 站上隔三差五就有人上来因为删 python 喊救命的
楼主惜字如金地连自己敲过的命令或者到底下载了哪些 rpm 包都不愿意讲,怎么让别人帮你?
再谈下面这两句警告( warning 是警告的意思,不是错误!不是错误!不是错误!)
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
解释:mockbuild 是默认用来编译 SRPM 包的用户和用户组。如果系统中不存在,则使用 root 用户或者组,没毛病。
我猜测,楼主在尝试安装 SRPM 包(*.src.rpm 这种格式的文件名),也就是源码包。然而因为你不需要自己去 build Python 的 RPM,所以没有必要安装 SRPM 包。
楼主又说`软件包并没有安装上`,我想知道楼主是怎么得出这个判断的。如果真的安装失败了,请贴错误信息。
跟我以前一样,不过我是学习的时候发现的,重装系统就完事了,你要是生产环境就麻烦了。不知道啥时候才能更新到 python3,2 看着难受。
RHEL 8/CentOS 8 默认安装的就会是 Python 3 了,而且系统中安装多个不同版本的 python 完全没有冲突,删系统 python 只能解释为强迫症。摊手~
自带的 python 也敢删除,好多软件包依赖它的
感谢, 回答这么详情,费心了,其实也没啥,昨天刚买的良心云的服务器,刚开始用,其实最简单的方式就是重装系统,我想尝试修复一下,放弃了, 刚刚重装系统,几分钟就好了!
确实有点强迫症。。哈哈哈哈
如果只是单纯想在 CentOS7 用新版本 Python 的话,建议:
1. 配置 EPEL 源( yum install epel-release 就可以)。EPEL 提供 python3.6 的包,可以使用 `yum install python36` 安装。
2. 或者使用 Docker。
3. 或者自行编译新版本 Python,但请不要覆盖系统自带的版本。
删过之后就不敢了
你是怎么爬出来的
有点强迫症,用不上就想干掉它
删过之后就知道了
尝试一下,感谢!以后就长记性了~_~
当年我一个朋友作死的手法还和楼主不一样,他是自己编译安装了另一个版本的 python 覆盖原来的,然后 yum 不能用,我帮他调试,手工下载各种 rpm 包,手工修复依赖,再多次编译 python 试图恢复。折腾了三四个小时。
推荐最好的做法,直接快照 /重装,完全不要考虑修复的问题。
rpm 数据库是 c 写的
这玩意是红帽的, 光装 python 没法和 rpm 数据库互交
光这一个玩意就弄死 yum 了
网上那些一天教人 --force 和--nodeps 的就是坑
依赖都搞不清楚也敢瞎--nodeps 系统不死才怪
老老实实按规范卸载你就知道要卸多少东西才能卸掉系统的 python 了, 你当 rpm 的依赖随便写的?
不按规矩来系统就被搞乱呗
我记得 ubuntu 的话如果误炸了什么东西,似乎可以用 live 启动盘切换 sysroot 再用 live 盘里的 apt 装回去,不知道 centos 有没有类似的操作。LZ 可以试着在这方向搜索一下。
activepython 2.7 可救
你想多了,chroot 之后,livecd 环境就已经切到硬盘系统环境了,apt 管理数据库都是硬盘系统的了,和你直接用硬盘系统没差。
作有风险的操作之前,一定先作快照,或者全系统 tar 备份。
再次重复,看着系统自带的老旧 python,正确解法是用 pyenv 和 virtualenv
继续下载 rpm
https://blog.csdn.net/KamRoseLee/article/details/80147749
我也干过这种事,没救回来,直接重装了。
直接重装吧,自带 python 的依赖关系解除了。重装很难修复,会牵连一堆软件。并不是简单的在 PATH 里加个 bin 就完事的。
虽然很不厚道, 笑出声, 哈哈, 不是第一次在 v 站上看到这样作死的了.
来 Arch 邪教吧, pacman 可以静态链接, 再也不怕搞挂了. 就算搞挂了也可以在 live CD 里 pacman/pacstrap 救回来.
我之前也卸载过,我觉得这根本不可耻的,在学习 linux 怎么用的时候,谁没个洁癖发作把所有看不惯的包全删掉的冲动?
最后楼主,恢复非常复杂,建议你直接重装吧
rpm 装的包和 make install 装的包是两回事。
另外 Linux 发行版是很忌讳 make install 装包的。没有了包管理,你装的软件是什么版本,打过哪些补丁,影响了哪些系统文件,全都不知道。CentOS 就算要更新,也应该用 EPEL 等第三方软件源来更新。更不要去随便动系统包,什么 libc 之类的,论坛上全是血泪史。
你这操作和 yum remove iptables 一样危险。
内置的 Python 动不得,万一搞坏了就很麻烦。
当然我遇到过最恐怖的事情是 C 库坏了,那个才是真的惨
感谢!
因为没有大服务器(centos7)的 root 权限 一直都是手动装包 直到有一天 管理员看我太辛苦 给了我 root 权限 但是他说没啥用 rpm 早被别人玩坏了 现在他也是手动编译源码来装包 我说好呀 有时间鼓捣下 果然 我发现是有人删除了默认的 python2 然后弄了一下午 终于手动重装了 rpm python2 内心 OS: 费我这么大劲 下回一脚踢飞删了 python2 的小婊子 哈哈哈
还好只是个刚用的服务器,已经重装了
是不是现在整个世界都彩色了, 哈哈哈
vmware 装一台一样的机器 cd /; tar zcf py.tar.gz usr/lib64/python2.7 usr/bin/python* usr/lib/python2.6
然后把 py.tar.gz 包上传带误删的机器 然后 tar xvf py.tar.gz -C /
vmware 装一台一样的机器 cd /; tar zcf py.tar.gz usr/lib64/python2.7 usr/bin/python* usr/lib/python2.7
然后把 py.tar.gz 包上传带误删的机器 然后 tar xvf py.tar.gz -C /
看到当时的一个笔记 你搜一下 rpm2cpio 应该可以解决的
备份,重装,多踩几次坑就好了。
谢谢,已经重装系统了