Gnome terminali başlamayacak


34

Sadece Ubuntu 16.04 sistemime python 3.6 kurmaya çalıştım ve şimdi terminali başlatıcıdan veya buradan çalıştıramıyorum Ctrl + Alt + T. gnome-terminalXTerm'den kaçmaya çalıştım ve şu mesajı aldım:

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'

Bu hatayı nasıl düzeltebilirim?

Ayrıca not edilmelidir:

  • Benim gnome-terminaldosyası şimdi bir piton komut dosyasıdır.
  • gnome-terminal.realBeklendiği gibi dosya terminalini açılacaktır.
  • python3.5 gnome-terminal beklendiği gibi terminali açacak.

Yanıtlar:


34

Muhtemelen sembolik bağlantı /usr/bin/python3, olmaması gereken python3.6'ya işaret etmektedir. Bu komutları çalıştırarak düzeltin:

sudo rm /usr/bin/python3
sudo ln -s python3.5 /usr/bin/python3

4
Buna eklemek için: buna python3-aptpaketteki bir hata neden olur ; Burada bir Launchpad hatası var .
Josh,

Sembolik bağlantı hangi yolda oluşturulmalıdır? Pyenv, terminal hatası düzeltilene kadar daha iyi bir alternatif değil mi?
josircg

@josircg: Yol sorunuzu anladığımdan emin değilim. Hem bağlantı hem de çalıştırılabilir dosya içinde bulunur /usr/bin. Daha iyi alternatifler olabilir. Herhangi bir şey biliyorsan, lütfen kendine bir cevap yaz.
Gunnar Hjalmarsson

1
@GunnarHjalmarsson bu komutları nerede çalıştırabilirim, terminalim açılmıyor.
Shoyeb Sheikh

1
@ShoyebSheikh: Belki XTerm'iniz vardır?
Gunnar Hjalmarsson

20

Sadece komutları çalıştırarak Python3 ile python3.5 arasındakileri işaretlemeniz gerekmez:

cd /usr/lib/python3/dist-packages/gi/
sudo cp _gi.cpython-35m-x86_64-linux-gnu.so _gi.cpython-36m-x86_64-linux-gnu.so
sudo cp _gi_cairo.cpython-35m-x86_64-linux-gnu.so _gi_cairo.cpython-36m-x86_64-linux-gnu.so

Bu tam olarak ne yapar? Güvenli mi?
wjandrea

3
Cevap bu olmalı. Güvenli @wjandrea, Ubuntu 18
Huan

Bunları xterm içine yapıştırabilir misin?
Tahlor

Benim için çalışıyor, bu cevap olmalı ve ben ikinci @Huan
user1282043

Bunun ne işe yaradığını hala açıklar
Daniel Holmes

8

Varsayılan python3'ün doğru şekilde değiştirilmesi şu şekilde yapılır:

sudo update-alternatives --config python3

Her ne _gi_cairo.cpython-35m-x86_64-linux-gnu.sokadar python3.5 üzerinden python3.6 üzerinden üstünü kopyalamak sorunu çözebilir, ancak kitaplığınızın tutarlılığını bozabilir. Ve kaçınılması gerekir.


@davidbak, Ubuntu hakkında şikayette bulunacağınız doğru yer Ubuntu irc veya posta listesinde (ya da depolarına yamalar gönderirken), yığın boşluğuna attığınız yığın boşluğunda.
Boris

3

Bunun eski bir soru olduğunu biliyorum ama dünya genelinde python3'ü python 3.5'e çevirmekten başka bir yol arayanlar için, ilk çizgiyi /usr/bin/gnome-terminal-den #! /usr/bin/python3değiştirebilirsin #! /usr/bin/python3.5.

Not: Bilgisayarımda python 3.5 yok ama import gipython 3.6'da çalışıyor, 3.5 yerine 3.6 kullanıyor.


Kırılan gnome-terminaltek şey mi, yoksa gnome-*değiştirmem gereken başka şeyler de var mı?
Boris
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.