Nach einigen nicht so cleveren Änderungen an der Standard-Python-Version in Ubuntu, von 2.7 auf 3.2, habe ich mein gesamtes System kaputt gemacht. Nachdem mein Computer implodiert war und alles nicht mehr funktionierte, versuchte ich, meine Änderungen zurückzusetzen (indem ich /usr/bin/python2.7 mit /usr/bin/python verband und die Standardversion in /usr/share/python/debian_defaults zurück zu änderte) 2.7) aber einige Dinge sind immer noch kaputt.
Wenn ich zum Beispiel "import gi" in den Python-Interpreter eingebe, erhalte ich die folgende Meldung:
>>> import gi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named gi
>>>
Fehler, der auch bei einigen Programmen auftritt (zB: Gnome Tweak Tool). Ich habe versucht, Python sowohl vom Software-Center als auch von den Quellen neu zu installieren, aber der gleiche Fehler bleibt bestehen.
Python - Version gibt jetzt zurück:
Python 2.7.2
und auch einige Software-Pakete, die von Python 2.7 abhängen, funktionieren jetzt (zum Beispiel das Software-Center), aber einige Dinge sind immer noch defekt. Was kann ich tun, um Python 2.7 als Standardversion vollständig neu zu installieren?
sudo dpkg-reconfigure python2.7
?Antworten:
Ich habe drei Möglichkeiten gefunden, dies zu tun:
Der einfache Weg:
sudo apt-get install python3-gi
oder
Für virtualenv Benutzer - Der vext Weg
pip install vext
pip install vext.gi
Der reine Python-Entwickler-Weg:
Installiere ein paar Entwickler-Sachen:
sudo apt-get install pkg-config libcairo2-dev gcc python3-dev libgirepository1.0-dev
Installieren Sie die Python-Pakete:
pip install gobject PyGObject
quelle
Es wurde hier eine kleine Problemumgehung gefunden , die für mich funktioniert hat:
Wechseln Sie
#!/usr/bin/env python
zu#!/usr/bin/python
quelle
python-gobject
unter Arch Linux (oderpython3-gi
Ubuntu) installiert wurde, hat bei mir nicht funktioniert!Führen Sie diesen Befehl im Terminal aus:
oder wenn Sie stattdessen Python2-Unterstützung benötigen:
quelle
Wenn Sie Anaconda installiert haben und es zur Standard-Python-Umgebung geworden ist, können Sie das gi-Modul folgendermaßen installieren:
Siehe auch: https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1611523
quelle
In meinem Fall:
Also, was müssen Sie überprüfen, ob Sie diese Datei zur Verfügung haben. Wenn nicht, dann überprüfen Sie diese
/usr/lib/python2.7/dist-packages/gi/__init__.py
Punkte/usr/share/pyshared/gi/__init__.py
. Sie sollten diese Datei haben, da Sie habenpython-gobject 3.0.0-0ubuntu4
(ja, ich habe die gleiche Version).Wenn das
gi
Paket da ist, sollten Sie einen Blick auf Ihresys.path
Ausgabe werfen . Wenn/usr/lib/python2.7/dist-packages
es nicht enthalten ist, fügen Sie es hinzu und versuchen Sie es erneut.Sobald der Import funktioniert, können Sie einfach Ihren
PYTHONPATH
Pfad festlegen oder untersuchen, warum der Pfad nicht korrekt eingestellt ist.Das anstehende Problem ist wahrscheinlich, dass Ihre
site.py
Datei aus irgendeinem Grund nicht gültig ist oder dass Sie wahrscheinlich nicht das Richtige findensite.py
(es sollte darunter liegen/usr/lib/python2.7/
). In diesem Fall sehen Sie sich hier alle Verzeichnisse an, in denen Python nach dieser Datei sucht, und überprüfen Sie, ob Ihre Umgebung korrekt ist.quelle
Die Erhöhung der Ausführlichkeit des Interpreten trägt wesentlich dazu bei, dieses Problem zu lösen. Trotz alledem habe ich versucht, einen einfachen Symlink des 2.7 dist-Pakets zu meinem usr / local 3.x dist-Paket zu erstellen und bin ein wenig weiter gekommen, aber nicht viel.
Wenn Sie das fehlende Symbol finden, können Sie dieses Problem möglicherweise lösen. Hier ist die ganze ausführliche Importausgabe, die mich bis hierher geführt hat. Dies scheint auch relevant zu sein: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=645963 , Viel Glück.
Der Suchpfad betrachtet nicht einmal den python2.7-Pfad. So sieht es von der erfolgreichen Seite von python2.7 aus.
quelle