(首发地址:学习日记 https://www.learndiary.com/2024/04/dont-remove-system-python/)
大家好,我是来自淘宝网“学习日记小店”的 learndiary,专注于提供 Linux 相关的技术服务。昨日,一位使用 Ubuntu 20.04 的客户遇到了由于 Python 版本问题引发的系统故障。他在处理 Conda 环境中 Python 版本冲突时错误地认为问题与系统自带的 Python 有关,进而尝试卸载系统级别的 Python。然而,在卸载过程中,尽管他卸载中途中断了操作,仍然导致系统在重启后无法登录图形桌面。本文基于“通义千问”归纳视频字幕生成文本修改。视频演示:【关于Linux系统中Python核心包的重要性和恢复误卸载软件的方法】 https://www.bilibili.com/video/BV1wJ4m1L7ZC/
关于Linux系统中Python核心包的重要性和恢复误卸载软件的方法
这种情况并非罕见,事实上,我之前也遇到过几起因卸载系统 Python 而引起的诸多问题。在这里,我要特别提醒Linux初学者们:Linux 系统自带的 Python 千万不要卸载,因为它扮演着极其关键的角色,作为众多系统软件和服务的核心依赖包。
这位客户在卸载系统 Python 时,连带着移除了数百个依赖 Python 运行的软件包,其中包括 Nvidia 驱动、ROS(Robot Operating System)软件以及部分图形桌面组件。面对这种状况,解决办法相对直接但也需要细心操作——重新安装所有因误操作而被卸载的软件包,以及恢复系统默认的 Python 版本。
为了精准还原卸载的软件列表,我们需要查看系统安装软件包的日志,从中提取出纯净的软件包名。日志文件中可能会包含括号、逗号等特殊字符,因此,我们可以使用sed命令来清理这些额外内容。例如,把包管理日志文件 /var/log/apt/history.log 中需要的软件包列表复制到文件 history_part.log 中,通过执行命令 cat history_part.log | sed 's/\ ([^)]\+)//g;s/,//g'
,可以从历史日志中提取出不含括号和逗号的干净软件包列表。
之后,只需在得到的软件包列表前添加命令 sudo apt install,即可批量重新安装所有被错误卸载的软件包以及系统 Python 本身,从而修复问题。
总结经验教训,不论何时何地,都切勿卸载 Linux 系统中的 Python 核心包。对于不确定是否应当卸载的软件包,在基于Debian的系统如Ubuntu中,可以使用 sudo apt remove [软件包名] -s 命令进行模拟卸载,以便预览该操作可能导致的连锁卸载效果。比如,运行 sudo apt remove python3 -s
将会展示如果不加限制地卸载python3会导致哪些相关软件包一同被卸载。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)
续更新**
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)