गनोम टर्मिनल शुरू नहीं होगा


34

मैंने सिर्फ अपने Ubuntu 16.04 सिस्टम पर अजगर 3.6 स्थापित करने की कोशिश की, और अब मैं लॉन्चर से या से टर्मिनल नहीं चला सकता Ctrl + Alt + T। मैंने gnome-terminalXTerm से चलने की कोशिश की और निम्नलिखित संदेश मिला:

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फाइल अब एक पायथन स्क्रिप्ट है।
  • gnome-terminal.realउम्मीद के रूप में फ़ाइल टर्मिनल खुल जाएगा।
  • python3.5 gnome-terminal उम्मीद के मुताबिक टर्मिनल खोलेगा।

जवाबों:


34

संभवतः /usr/bin/python3सिम्लिंक python3.6 को इंगित करता है, जिसे यह नहीं होना चाहिए। इन आदेशों को चलाकर इसे ठीक करें:

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

4
इसे जोड़ने के लिए: यह python3-aptपैकेज में एक बग के कारण होता है ; यहाँ इसके बारे में एक लॉन्चपैड बग खुला है
जोश

सिम्लिंक को किस पथ पर बनाया जाना चाहिए? जब तक टर्मिनल बग ठीक नहीं हो जाता, क्या पीएनवी एक बेहतर विकल्प नहीं है?
josircg

@ जोसरकग: मुझे यकीन नहीं है कि मैं आपके रास्ते को समझता हूं। सिम्लिंक और निष्पादन योग्य दोनों में रहते हैं/usr/bin । बेहतर विकल्प हो सकते हैं। यदि आप किसी को जानते हैं, तो कृपया अपना उत्तर लिखें।
गुन्नार हेजलारमसन

1
@GunnarHjalmarsson मैं इन कमांड को कहां चला सकता हूं, मेरा टर्मिनल नहीं खुल रहा है।
शोएब शेख

1
@ शोयबशेख: शायद आपके पास एक्सटर्म है?
गुन्नार हेजलारसन

20

आपको Python3 को python3.5 पर इंगित करने की आवश्यकता नहीं है, बस कमांड चला रहे हैं:

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

यह वास्तव में क्या करता है? क्या ये सुरक्षित है?
wjandrea 19

3
इसका उत्तर होना चाहिए। यह सुरक्षित है @wandrearea, मैं इसका इस्तेमाल बिना किसी समस्या के पाइथन 3.7 के साथ उबंटू 18 के तहत करता हूं
हुआन

क्या आप इन्हें xterm में पेस्ट कर सकते हैं?
ताहलोर

मेरे लिए काम करता है, यह उत्तर होना चाहिए और मैं दूसरा @Huan
user1282043

यह अब भी क्या उपयोगी होगा की व्याख्या
डैनियल होम्स

8

डिफ़ॉल्ट python3 का उचित परिवर्तन इसके माध्यम से किया जाता है:

sudo update-alternatives --config python3

हालाँकि _gi_cairo.cpython-35m-x86_64-linux-gnu.sopython3.5 पर python3.5 से अधिक की नकल करने से समस्या हल हो सकती है, लेकिन इससे आपकी लाइब्रेरी की निरंतरता टूट जाएगी। और इससे बचना चाहिए।


@davidbak उबंटू के बारे में शिकायत करने के लिए सही जगह उबंटू irc या मेलिंग सूची (या उनके रिपॉजिटरी में पैच सबमिट करना) पर है, स्टैकओवरफ्लो पर आप केवल शून्य में चिल्ला रहे हैं।
बोरिस

3

मैं जानता हूँ कि यह एक पुराने सवाल है, लेकिन विश्व स्तर पर अजगर 3.5 python3 बदलते अलावा किसी अन्य रास्ता तलाश करने वालों के लिए, आप की पहली पंक्ति को बदल सकते हैं /usr/bin/gnome-terminalसे #! /usr/bin/python3करने के लिए#! /usr/bin/python3.5

नोट: मेरे कंप्यूटर पर अजगर 3.5 नहीं है, लेकिन import giअजगर 3.6 में काम करता है, इसलिए 3.5 के बजाय 3.6 का उपयोग किया गया है।


क्या gnome-terminalकेवल एक चीज है जो टूटती है या अन्य gnome-*चीजें हैं जिन्हें मुझे भी बदलना चाहिए?
बोरिस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.