這個案例告訴我們,千萬不要動系統自帶的 Python,Win系統除外
文 | fanzhenyu 出處 | http://fanzhenyu.cn/
由於無知,卸載 Ubuntu 自帶的 python3 引發慘案,謹記,深刻反思。
慘案
由於實驗需要使用 Python3.6 以上版本,於是決定卸載 Python3.5。
<code># 卸載 python3.5/<code>
<code>$ sudo apt-getremove python3.5/<code>
沒用,終端輸入 python3 還是可以使用。於是,網上查找卸載python3.5的方法:
<code># 卸載 python3.5 及其依賴/<code>
<code>$ sudo apt-getremove --auto-remove python3.5/<code>
<code># 清除 python3.5/<code>
<code>$ sudo apt-getpurge python3.5/<code>
or
<code>$ sudo apt-getpurge --auto-remove python3.5/<code>
接下來,終端輸入 python3 依然還是可以使用。
<code># 刪除鏈接/<code>
<code>sudo rm /usr/bin/python3/<code>
然後,突然發現側邊菜單欄變灰,感覺不對勁,重啟。然後,側邊菜單欄不見了,右鍵連打開終端的選項都沒有了。
於是,查找解決方案:
<code># 切換到命令行模式/<code>
<code>ctrl+alt+t/<code>
<code># 失敗,再次嘗試/<code>
<code>ctrl+alt+F1/<code>
<code># 成功/<code>
<code>$ sudo apt install -f/<code>
<code># 重新安裝桌面/<code>
<code>$ sudo apt-get-f install ubuntu-minimal ubuntu-standard ubuntu-desktop/<code>
<code># 重啟/<code>
<code>$ sudo reboot/<code>
重啟後,菜單欄又出現了。但是,終端依然沒有。可以在 xterm 或者 中嘗試安裝:
<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+ 以上版本的正確姿勢:
<code># 從官網下載對應版本的源碼/<code>
<code>https://www.python.org/downloads/source//<code>
<code># 解壓/<code>
<code>$ tar -zxvf xxxxx/<code>
<code>$ cd xxxx/<code>
<code># 創建安裝目錄/<code>
<code>$ sudo mkdir -p /usr/local/python3/<code>
<code># 配置、編譯、安裝/<code>
<code>$ ./configure --preifx=/usr/local/python3 --enable-optimizations/<code>
<code>$ make/<code>
<code>$ sudo make install/<code>
安裝以後,不修改 python3 的指向,可以為 python3.6+ 版本指定不同的鏈接名:
<code># 添加 python37 的軟鏈接/<code>
<code>$ ln -s /usr/local/python3/bin/python3.7/usr/bin/python37/<code>
<code># 添加 pip3 的軟鏈接(這樣pip3就是python3.7專用的,也可以起名為 pip37,不影響python3.5的pip3)/<code>
<code>$ ln -s /usr/local/python3/bin/pip3.7/usr/bin/pip3/<code>
檢測版本,查看是否成功:
<code>$ python37 -V/<code>
<code>$ pip3 -V/<code>
重新安裝系統、軟件、搭建實驗環境,真的是心累啊。謹記,以後不要隨便卸載系統自帶軟件,特別是不要相信某些博客寫的徹底清除xxx及其依賴的操作。
回覆下方「關鍵詞」,獲取優質資源
回覆關鍵詞「 pybook03」,立即獲取主頁君與小夥伴一起翻譯的《Think Python 2e》電子版
回覆關鍵詞「入門資料」,立即獲取主頁君整理的 10 本 Python 入門書的電子版
回覆關鍵詞「m」,立即獲取Python精選優質文章合集
回覆關鍵詞「book 數字」,將數字替換成 0 及以上數字,有驚喜好禮哦~
閱讀更多 編程派 的文章