刪除系統 Python 引發的慘案

刪除系統 Python 引發的慘案

這個案例告訴我們,千萬不要動系統自帶的 Python,Win系統除外

文 | fanzhenyu 出處 | http://fanzhenyu.cn/

由於無知,卸載 Ubuntu 自帶的 python3 引發慘案,謹記,深刻反思。

慘案

由於實驗需要使用 Python3.6 以上版本,於是決定卸載 Python3.5。

  1. <code># 卸載 python3.5/<code>

  2. <code>$ sudo apt-getremove python3.5/<code>

沒用,終端輸入 python3 還是可以使用。於是,網上查找卸載python3.5的方法:

  1. <code># 卸載 python3.5 及其依賴/<code>

  2. <code>$ sudo apt-getremove --auto-remove python3.5/<code>

  3. <code># 清除 python3.5/<code>

  4. <code>$ sudo apt-getpurge python3.5/<code>

or

  1. <code>$ sudo apt-getpurge --auto-remove python3.5/<code>

接下來,終端輸入 python3 依然還是可以使用。

  1. <code># 刪除鏈接/<code>

  2. <code>sudo rm /usr/bin/python3/<code>

然後,突然發現側邊菜單欄變灰,感覺不對勁,重啟。然後,側邊菜單欄不見了,右鍵連打開終端的選項都沒有了。

删除系统 Python 引发的惨案

於是,查找解決方案:

  1. <code># 切換到命令行模式/<code>

  2. <code>ctrl+alt+t/<code>

  3. <code># 失敗,再次嘗試/<code>

  4. <code>ctrl+alt+F1/<code>

  5. <code># 成功/<code>

  6. <code>$ sudo apt install -f/<code>

  7. <code># 重新安裝桌面/<code>

  8. <code>$ sudo apt-get-f install ubuntu-minimal ubuntu-standard ubuntu-desktop/<code>

  9. <code># 重啟/<code>

  10. <code>$ sudo reboot/<code>

重啟後,菜單欄又出現了。但是,終端依然沒有。可以在 xterm 或者 中嘗試安裝:

  1. <code>$ sudo apt install gnome-terminal/<code>

但是,一般是不起作用的,還是打不開。由於系統中很多軟件都是依賴 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. <code># 從官網下載對應版本的源碼/<code>

  2. <code>https://www.python.org/downloads/source//<code>

  3. <code># 解壓/<code>

  4. <code>$ tar -zxvf xxxxx/<code>

  5. <code>$ cd xxxx/<code>

  6. <code># 創建安裝目錄/<code>

  7. <code>$ sudo mkdir -p /usr/local/python3/<code>

  8. <code># 配置、編譯、安裝/<code>

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

  10. <code>$ make/<code>

  11. <code>$ sudo make install/<code>

安裝以後,不修改 python3 的指向,可以為 python3.6+ 版本指定不同的鏈接名:

  1. <code># 添加 python37 的軟鏈接/<code>

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

  3. <code># 添加 pip3 的軟鏈接(這樣pip3就是python3.7專用的,也可以起名為 pip37,不影響python3.5的pip3)/<code>

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

檢測版本,查看是否成功:

  1. <code>$ python37 -V/<code>

  2. <code>$ pip3 -V/<code>

删除系统 Python 引发的惨案

重新安裝系統、軟件、搭建實驗環境,真的是心累啊。謹記,以後不要隨便卸載系統自帶軟件,特別是不要相信某些博客寫的徹底清除xxx及其依賴的操作。

回覆下方「關鍵詞」,獲取優質資源

回覆關鍵詞「 pybook03」,立即獲取主頁君與小夥伴一起翻譯的《Think Python 2e》電子版

回覆關鍵詞「入門資料」,立即獲取主頁君整理的 10 本 Python 入門書的電子版

回覆關鍵詞「m」,立即獲取Python精選優質文章合集

回覆關鍵詞「book 數字」,將數字替換成 0 及以上數字,有驚喜好禮哦~


分享到:


相關文章: