在Ubuntu 16.04.6 LTS升级python 3.5.x到3.7.3之后导致gnome-ternimal无法打开的解决办法
在前一篇博文
https://blog.csdn.net/tao_627/article/details/90901830
中,我順利將python 3.5.x升級到3.7.3,發現一切都正常,運行
python3 -V 和 pip3 -V 都是正常的,但是當我重啟Ubuntu之后,就悲催地發現,終端打不開了,點擊圖標顯示正在打開但并不能打開,使用Ctrl+alt+T也打不開,而且系統右上角有個紅色實心圓圈中間一條白杠。
下面是我結合網上的資料和實操過程的經驗分享,以作備忘。
具體定位終端報錯的具體原因
現在既然終端不能使用,我們只能按Ctrl+Alt+F1,從圖形界面切換到命令行模式,需要輸入自己的用戶名和密碼進入,執行
gnome-terminal
從報錯信息就能準確定位問題
$ gnome-terminal
Traceback (most recent call last):
??File "/usr/bin/gnome-terminal", line 9, in <module>
????from gi.repository import GLib, Gio
??File "/usr/lib/python3/dist-packages/gi/__init__.py", line 42, in <module>
????from . import _gi
ImportError: cannot import name '_gi'
原因是沒有_gi這個庫,然后你把原來系統中的庫改個名就可以。推測是昨天升級python3版本遺留的問題。
解決方法如下:
cd /usr/lib/python3/dist-packages/gi/
# 下面的35 改成37 表示從py3.5 改到py3.7,如果安裝的是3.6就改成36
sudo mv _gi_cairo.cpython-35m-x86_64-linux-gnu.so ?_gi_cairo.cpython-37m-x86_64-linux-gnu.so
sudo mv _gi.cpython-35m-x86_64-linux-gnu.so _gi.cpython-37m-x86_64-linux-gnu.so
如果python3安裝到非默認目錄下面,你還需整個gi目錄拷貝到python3.7的安裝目錄下面:
cp -fr /usr/lib/python3/dist-packages/gi /usr/local/python3/lib/python3.7/site-packages/
再次在命令行下執行
$ gnome-terminal
此時應該就沒有模塊引用失敗的問題了。
如何從命令行模式返回用戶界面?
按Ctrl+Alt+F7 就可以了
無須重啟系統,再次點擊終端圖標,應該就能順利打開了。
反思
主要原因還是我升級python3.7.x導致的,下面的博文中說,使用
sudo make altinstall
make altinstall is used to prevent replacing the default python binary file /usr/bin/python.
可以避免這個問題,我沒有實踐,暫且先記錄下來,后續有機會再嘗試
https://tecadmin.net/install-python-3-6-ubuntu-linuxmint/
參考文獻
[1].https://blog.csdn.net/Fei20140908/article/details/88168690
[2].https://blog.csdn.net/jaket5219999/article/details/78465251
[3].https://blog.csdn.net/threeyearsago/article/details/80276579
總結
以上是生活随笔為你收集整理的在Ubuntu 16.04.6 LTS升级python 3.5.x到3.7.3之后导致gnome-ternimal无法打开的解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Ubuntu 16.04.6 LTS上
- 下一篇: 在Mac上通过VMware Fushio