社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

删除系统 Python 引发的惨案

Python开发者 • 6 年前 • 699 次点击  

(给Python开发者加星标,提升Python技能

来源: fanzhenyu

http://fanzhenyu.cn/

这个案例告诉我们,千万不要动系统自带的 Python,Win系统除外


由于无知,卸载 Ubuntu 自带的 python3 引发惨案,谨记,深刻反思。

惨案

由于实验需要使用 Python3.6 以上版本,于是决定卸载 Python3.5。

  1. # 卸载 python3.5

  2. $ sudo apt-get remove python3.5

没用,终端输入 python3 还是可以使用。于是,网上查找卸载python3.5的方法:

  1. # 卸载 python3.5 及其依赖

  2. $ sudo apt-get remove --auto-remove python3.5

  3. # 清除 python3.5

  4. $ sudo apt-get purge python3.5

or

  1. $ sudo apt-get purge --auto-remove python3.5

接下来,终端输入 python3 依然还是可以使用。

  1. # 删除链接

  2. sudo rm /usr/bin/python3

然后,突然发现侧边菜单栏变灰,感觉不对劲,重启。然后,侧边菜单栏不见了,右键连打开终端的选项都没有了。

于是,查找解决方案:

  1. # 切换到命令行模式

  2. ctrl+alt+t

  3. # 失败,再次尝试

  4. ctrl+alt+F1

  5. # 成功

  6. $ sudo apt install -f

  7. # 重新安装桌面

  8. $ sudo apt-get-f install ubuntu-minimal ubuntu-standard ubuntu-desktop

  9. # 重启

  10. $ sudo reboot

重启后,菜单栏又出现了。但是,终端依然没有。可以在 xterm 或者 中尝试安装:

  1. $ sudo apt install gnome-terminal

但是,一般是不起作用的,还是打不开。由于系统中很多软件都是依赖 python3,所以卸载了 python3 导致了系统崩溃。即使安装了 python3.6+ 并设置了 python3 的软连接,依然不行。

可以尝试重装 python3.5,然后设置 python3 软连接。也可以尝试以下方法:

  • https://blog.csdn.net/tao_627/article/details/91042809

  • https://blog.csdn.net/qs521/article/details/98945938

惨案发生后,即使菜单栏回来了,终端或许也能打开了,但是使用 apt 安装软件一直报 dpkg 的错误,找了很多方法也没有解决,所以还是决定重新装系统了。

正确安装 Python 3.6+

正确的方式就是不要轻易删除 python3 及其依赖。特别是不要删除依赖。在 Ubuntu16.04 中修改 python3 指向 3.6+ 版本以后,某些软件会无法使用,比如终端,需要使用上面连接的方法进行相应的处理。

这里编程派更推荐的方案是通过 pyenv 安装 3.6+版本。

安装 Python3.6+ 以上版本的正确姿势:

  1. # 从官网下载对应版本的源码

  2. https://www.python.org/downloads/source/

  3. # 解压

  4. $ tar -zxvf xxxxx

  5. $ cd xxxx

  6. # 创建安装目录

  7. $ sudo mkdir -p /usr/local/python3

  8. # 配置、编译、安装

  9. $ ./configure --preifx=/usr/local/python3 --enable-optimizations

  10. $ make

  11. $ sudo make install

安装以后,不修改 python3 的指向,可以为 python3.6+ 版本指定不同的链接名:

  1. # 添加 python37 的软链接

  2. $ ln -s /usr/local/python3/bin/python3.7/usr/bin/python37

  3. # 添加 pip3 的软链接(这样pip3就是python3.7专用的,也可以起名为 pip37,不影响python3.5的pip3)

  4. $ ln -s /usr/local/python3/bin/pip3.7/usr/bin/pip3

检测版本,查看是否成功:

  1. $ python37 -V

  2. $ pip3 -V

重新安装系统、软件、搭建实验环境,真的是心累啊。谨记,以后不要随便卸载系统自带软件,特别是不要相信某些博客写的彻底清除xxx及其依赖的操作。


推荐阅读

(点击标题可跳转阅读)

超全代码详解 Python 制作精美炫酷图表教程

恶意 Python 库偷 SSH 密钥!请自查是否中招



觉得本文对你有帮助?请分享给更多人

关注「Python开发者」加星标,提升Python技能

好文章,我在看❤️

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51603