Я только что попытался установить python 3.6 в моей системе Ubuntu 16.04, и теперь я не могу запустить терминал из панели запуска или из Ctrl + Alt + T. Я попытался запустить gnome-terminal
из XTerm и получил следующее сообщение:
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'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Original exception was:
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'
Как я могу исправить эту ошибку?
Следует также отметить, что:
- Мой
gnome-terminal
файл теперь является скриптом Python. gnome-terminal.real
Файл будет открыт терминал , как и ожидалось.python3.5 gnome-terminal
откроет терминал, как и ожидалось.
16.04
gnome
python
gnome-terminal
bengdahl
источник
источник
python3-apt
пакете; есть Launchpad ошибка скрывает здесь ./usr/bin
. Там могут быть лучшие альтернативы. Если вы знаете что-либо, пожалуйста, напишите собственный ответ.Вам не нужно указывать Python3 на python3.5, просто запустите команды:
источник
Правильное изменение по умолчанию Python3 осуществляется через:
Хотя копирование
_gi_cairo.cpython-35m-x86_64-linux-gnu.so
over из python3.5 поверх python3.6 может решить проблему, но нарушит согласованность вашей библиотеки. И этого следует избегать.источник
Я знаю, что это старый вопрос, но для тех, кто ищет иной путь, чем глобальное изменение python3 на python 3.5, вы можете изменить первую строку
/usr/bin/gnome-terminal
с#! /usr/bin/python3
на#! /usr/bin/python3.5
.Примечание: у меня нет python 3.5 на моем компьютере, но он
import gi
работает на python 3.6, поэтому использовал 3.6 вместо 3.5.источник
gnome-terminal
единственное, что ломает или есть другиеgnome-*
вещи, которые я тоже должен изменить?