欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python版本切换的问题解决

程序员文章站 2022-03-02 14:37:13
...

最近将python版本从3.6切换到了3.7,出现了一些问题,主要表现如下。

1.meld打不开,报错为 ModuleNotFoundError: No module named 'cairo._cairo’

这个现象主要是由于/usr/lib/python3/dist-packages/cairo并没有更新(这个目录根据自己的来)。这里还是3.6的版本,没有到3.7的版本。
python版本切换的问题解决
现在对其进行修改,添加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,果然出现同样的情况。
python版本切换的问题解决把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的文件未更新导致的,可以用同样的方法来解决。