安装python3.8后,Ubuntu无法打开终端gnome-terminal的解决方法整理版(importerror _gi)

最近打算学一下tensorflow,发现tensorflow官方只支持和mac和linux,恰好之前在操作系统课上装了Ubuntu18.04的双系统,于是打算在Ubuntu捣鼓一下.没想到,linux上配环境各种bug,一路下来,头发都掉不少
在更新了python3.8后,发现Ubuntu上的gnome-terminal无法用快捷ctrl+alt+T打开了,右键点击也是一直转圈啥反应都没有.
只剩下桌面右键点击,选择终端这一个途径.
到了发现原因竟然是在将python3重定向为python3.8
即建立软链接后

ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3

发生了问题
大家可以在xterm或其他可用终端输入gnome-terminal
听说可以按Ctrl+Alt+F1来进入命令模式
发生类似importerror的错误
在这里插入图片描述错误显示无法导入_gi模块
折腾了一晚上我从网上找到几种解决方法,整理了一下在这里分享给大家.
第一种:修改文件

进入python3相应目录,看看里面的_gi_cairo.cpython-35m-x86_64-linux-g文件和_gi.cpython-35m-x86_64-linux-gnu.so文件需要重命名或复制一份为:_gi_cairo.cpython-36m-x86_64-linux-g和_gi.cpython-36m-x86_64-linux-gnu.so

cd /usr/lib/python3/dist-packages/gi/
sudo cp _gi.cpython-35m-x86_64-linux-gnu.so _gi.cpython-38m-x86_64-linux-gnu.so
sudo cp _gi_cairo.cpython-35m-x86_64-linux-gnu.so _gi_cairo.cpython-38m-x86_64-linux-gnu.so

这种方法,我试了一下没有解决问题.

第二种方法:修改gnome-terminal文件
就是将/usr/bin/gnome-terminal
修改其中的第一行

sudo vim /usr/bin/gnome-terminal

第一行: #!/usr/bin/python2 将3改为2:
#!/usr/bin/python3
我就是用这种方法解决的,也有人说这里改为python3.6
我是了也可以
第三种方法退而求其次

如果以上方法都不行的话就只能重新将python3指回python3.6了.

sudo rm /usr/bin/python3
sudo ln -s python3.6 /usr/bin/python3

或者尝试一下以下指令

sudo update-alternatives --config python3

linux上的bug真是奇葩而复杂.
希望能早日变强.

参考:

stackoverflow解答

猜你喜欢

转载自blog.csdn.net/LLY_A_/article/details/114385704