Après une édition pas si intelligente de la version Python par défaut dans Ubuntu, de 2.7 à 3.2, j'ai fini par casser tout mon système. Après que mon ordinateur ait implosé et que tout ait cessé de fonctionner, j'ai essayé de rétablir mes modifications (en liant /usr/bin/python2.7 à / usr / bin / python et en changeant la version par défaut dans / usr / share / python / debian_defaults en 2.7) mais certaines choses sont encore cassées.
Par exemple, lorsque je tape "import gi" dans l'interpréteur python, j'obtiens le message suivant:
>>> import gi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named gi
>>>
erreur qui apparaît également avec certains programmes (par exemple: outil de modification de gnome). J'ai essayé de réinstaller python à la fois depuis le centre logiciel et depuis les sources, mais la même erreur persiste.
Python - la version retourne maintenant:
Python 2.7.2
et aussi certains progiciels qui dépendent de python 2.7 fonctionnent maintenant (par exemple le centre logiciel), mais certaines choses sont toujours en panne. Puis-je faire quelque chose pour réinstaller complètement python 2.7 comme version par défaut?
sudo dpkg-reconfigure python2.7
?Réponses:
J'ai trouvé trois façons de procéder:
La manière simple:
sudo apt-get install python3-gi
ou
Pour les utilisateurs de virtualenv - La voie vext
pip install vext
pip install vext.gi
La voie du développeur python pur:
Installez un tas de trucs pour les développeurs:
sudo apt-get install pkg-config libcairo2-dev gcc python3-dev libgirepository1.0-dev
Installez les packages python:
pip install gobject PyGObject
la source
Petite solution de contournement trouvée ici qui a fonctionné pour moi:
Remplacer
#!/usr/bin/env python
par#!/usr/bin/python
la source
python-gobject
sur Arch Linux (oupython3-gi
sur Ubuntu) n'a pas fonctionné pour moi!Exécutez cette commande dans le terminal:
ou si vous avez plutôt besoin de la prise en charge de Python2:
la source
Si vous avez installé anaconda et qu'il est devenu l'environnement python par défaut, le module gi peut être installé via:
Voir également: https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1611523
la source
Dans mon cas:
Donc, ce que vous devez vérifier si ce fichier est disponible. Si ce n'est pas le cas, vérifiez ces
/usr/lib/python2.7/dist-packages/gi/__init__.py
points/usr/share/pyshared/gi/__init__.py
. Vous devriez avoir ce fichier puisque vous l'avezpython-gobject 3.0.0-0ubuntu4
(oui, j'ai la même version).Si le
gi
paquet est là, alors vous devriez jeter un œil à votresys.path
sortie. S'il/usr/lib/python2.7/dist-packages
n'est pas inclus, ajoutez-le et réessayez.Une fois l'importation effectuée, vous pouvez simplement définir votre
PYTHONPATH
ou rechercher plus avant la raison pour laquelle le chemin d'accès n'est pas correctement défini.Le problème en suspens est probablement que votre
site.py
fichier n'est pas valide pour une raison quelconque ou, plus probablement, que vous n'obtenez pas le bonsite.py
(il devrait être sous/usr/lib/python2.7/
). Dans ce cas, regardez ici pour passer en revue tous les répertoires utilisés par python pour rechercher ce fichier et vérifier que votre environnement est correct.la source
L'augmentation de la verbosité de l'interprète contribue grandement au tri de ce problème. Même après tout cela, j'ai essayé de faire un simple lien symbolique du dist-package 2.7 vers mon dist-package usr / local 3.x et je suis allé un peu plus loin, mais pas beaucoup.
Si vous pouvez retrouver ce symbole manquant, vous pourrez peut-être résoudre ce problème. Voici toutes les sorties d'importation verbeuses qui m'ont mené jusqu'ici. En outre, cela semble pertinent: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=645963 , bonne chance.
Le chemin de recherche ne regarde même pas le chemin python2.7. Voici à quoi cela ressemble du côté réussi de python2.7.
la source