ImportError:尝试添加任何 PPA 存储库时无法导入名称“_gi”

ImportError:尝试添加任何 PPA 存储库时无法导入名称“_gi”

我一直试图在我的 Ubuntu (18.04 LTS) 上安装 MPV。每当我尝试将 PPA 存储库添加到我的系统时,我都会收到此错误。

例如,我尝试过这个:

sudo add-apt-repository ppa:mc3man/mpv-tests

并得到这个:

Traceback (most recent call last):
  File "/usr/bin/add-apt-repository", line 11, in <module>
    from softwareproperties.SoftwareProperties import SoftwareProperties, shortcut_handler
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 67, in <module>
    from gi.repository import Gio
  File "/usr/lib/python3/dist-packages/gi/__init__.py", line 42, in <module>
    from . import _gi
ImportError: cannot import name '_gi' from partially initialized module 'gi' (most likely due to a circular import) (/usr/lib/python3/dist-packages/gi/__init__.py)

每次我尝试将任何 PPA 添加到系统时都会发生这种情况。我默认安装了 Python 3.6,但后来更新到了 Python 3.8.0。我是 Linux 新手。什么原因可能导致此问题?如何解决?

谢谢你!

答案1

听起来你的系统可能在选择正确的 Python 版本时遇到了问题。

尝试编辑文件/usr/bin/add-apt-repository并将该行更改#!/usr/bin/python3为特定版本的 Python,以适应您的情况:

#!/usr/bin/python3.8

或者,看看你是否安装了可以使用的旧版本的 Python:

ls -al /usr/bin | grep python

寻找其他版本,如python3.5或,并尝试用适当的版本号python3.6替换。#!/usr/bin/python3.8

答案2

我遇到了同样的问题,但将 Python 升级到 3.7。我从此链接找到了方法:如何为 anaconda python3.6 安装 gi对我来说,这种方法很管用。对于你的情况,请尝试将 3.7 改为 3.8,将 37 改为 38:

ln -s /usr/lib/python3/dist-packages/gi/ /home/$USER/anaconda3/lib/python3.7/site-packages/
cd /home/$USER/anaconda3/lib/python3.7/site-packages/gi/
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

相关内容