Импорт ImportError:cannot называет '_gi' при попытке добавить любой репозиторий PPA

Я пытался установить MPV на своей Ubuntu (18.04 LTS). Каждый раз, когда я пытаюсь добавить репозиторий 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
задан 30 October 2019 в 23:58

2 ответа

Кажется, что Ваша система могла бы иметь проблемы, выбирая корректную версию 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 соответствующим номером версии.

1
ответ дан 7 December 2019 в 14:57

У меня была такая же проблема, но с обновлением Python до 3.7. Я нашел метод по этой ссылке: Как установить gi для anaconda python3.6 , и у меня это работает. В вашей ситуации попробуйте изменить 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
0
ответ дан 13 April 2020 в 10:21

Другие вопросы по тегам:

Похожие вопросы: