升级到3.6之后,发现ctrl alt t呼不出命令台,找了半天发现update manager也打不开,而且没有错误报告....。查阅了一番资料看到有人有类似的问题(https://askubuntu.com/questions/789966/software-updates-crashes-and-will-not-open)于是我尝试用命令的方式启动命令行,错误结果如下:
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'
原来是python从2.7升级到3.6有一些文件并没有得到对应的更新,解决方法如下:
$ cd /usr/lib/python3/dist-packages/gi/
$ sudo cp _gi.cpython-35m-x86_64-linux-gnu.so _gi.cpython-36m-x86_64-linux-gnu.so
$ sudo cp _gi_cairo.cpython-35m-x86_64-linux-gnu.so _gi_cairo.cpython-36m-x86_64-linux-gnu.so
注意上面是把文件的名字中的35m更改为36m,(我猜是我之前有装过python3.5所以有35m这么个说法)。
这个问题解决之后,我尝试用图形界面启动updata manager,好了这次有错误报告了,显示:ImportError: cannot import name '_gi'。
解决方法和上次类似:
$ cd /usr/lib/python3/dist-packages/
$ sudo cp apt_pkg.cpython-3?m-x86_64-linux-gnu.so apt_pkg.cpython-36m-x86_64-linux-gnu.so
python的一些环境依赖都在dist-packages这个文件夹中,之前修改pip的默认安装路径也处理过。
这个问题解决之后,又出了一个类似的问题:ImportError: cannot import name '_dbus_blinding'。解决方式我就不累述了这个东西也在dist-packages文件夹中:
/usr/lib/python3/dist-packages/_dbus_glib_bindings.cpython-35m-x86_64-linux-gnu.so
/usr/lib/python3/dist-packages/_dbus_bindings.cpython-35m-x86_64-linux-gnu.so
注意这两个文件都需要修改一下哦