最近将python版本从3.6切换到了3.7,出现了一些问题,主要表现如下。
1.meld打不开,报错为 ModuleNotFoundError: No module named 'cairo._cairo’
这个现象主要是由于/usr/lib/python3/dist-packages/cairo并没有更新(这个目录根据自己的来)。这里还是3.6的版本,没有到3.7的版本。
现在对其进行修改,添加3.7的版本。
sudo cp _cairo.cpython-36m-x86_64-linux-gnu.so _cairo.cpython-37m-x86_64-linux-gnu.so
再对cairo文件夹中的/usr/lib/python3/dist-packages/cairo/__pycache__进行同样的处理。
sudo cp __init__.cpython-36.pyc __init__.cpython-37.pyc
重新在终端启动meld就可以成功了。
2.终端问题。现象:ctrl+alt+t打不开终端,但是可以在文件夹右键打开,并且快捷键也存在这个快捷键。用终端运行
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'
这个和上面的问题是一样的,都是由于python更新导致的。进入python的目录,
/usr/lib/python3/dist-packages/gi,果然出现同样的情况。
把36更新为相应的37即可。
sudo cp _gi.cpython-36m-x86_64-linux-gnu.so _gi.cpython-37m-x86_64-linux-gnu.so
sudo cp _gi_cairo.cpython-36m-x86_64-linux-gnu.so _gi_cairo.cpython-37m-x86_64-linux-gnu.so
启动 ctrl+alt+t即可恢复正常。
类似的问题都可以检查是否由于python的文件未更新导致的,可以用同样的方法来解决。