Après quelques modifications moins astucieuses de la version par défaut de Python sous Ubuntu, de la version 2.7 à la version 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 modifiant la version par défaut dans/usr/share/python/debian_defaults 2.7) mais certaines choses sont encore cassées.
Par exemple, lorsque je tape "import gi" dans l'interpréteur python, le message suivant s'affiche:
>>> import gi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named gi
>>>
erreur qui apparaît aussi avec certains programmes (par exemple: outil gnome Tweak). J'ai essayé de réinstaller python à partir du centre logiciel et des sources, mais la même erreur persiste.
Python - la version retourne maintenant:
Python 2.7.2
et certains packages logiciels 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?
J'ai trouvé trois façons de le faire:
La manière simple:
Sudo apt-get install python3-gi
ou
Pour les utilisateurs de virtualenv - La méthode vext
pip install vext
pip install vext.gi
La méthode de développement pure python:
Installez un tas de choses 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
Peu de solution de contournement trouvée ici qui a fonctionné pour moi:
Sudo nano /usr/bin/gnome-Tweak-tool
Remplacez #!/usr/bin/env python
par #!/usr/bin/python
Exécutez cette commande dans le terminal:
Sudo apt install python3-gi
ou si vous avez plutôt besoin du support Python2:
Sudo apt install python-gi
Dans mon cas:
>>> import gi
>>> gi.__file__
'/usr/lib/python2.7/dist-packages/gi/__init__.pyc'
Donc, ce que vous devez vérifier si vous avez ce fichier disponible. Si ce n'est pas le cas, vérifiez que /usr/lib/python2.7/dist-packages/gi/__init__.py
pointe /usr/share/pyshared/gi/__init__.py
. Vous devriez avoir ce fichier puisque vous avez python-gobject 3.0.0-0ubuntu4
(oui, j'ai la même version).
Si le package gi
existe, vous devriez jeter un coup d'œil à votre sortie sys.path
. Si /usr/lib/python2.7/dist-packages
n'est pas inclus, ajoutez-le et réessayez.
Une fois l’importation terminée, vous pouvez définir votre PYTHONPATH
ou rechercher la raison pour laquelle le chemin n’est pas correctement défini.
Le problème en suspens est probablement que votre fichier site.py
n'est pas valide pour une raison quelconque ou, plus probablement, que vous n'obtenez pas le bon site.py
(il devrait figurer sous /usr/lib/python2.7/
). Dans ce cas, regardez ici pour examiner tous les répertoires utilisés par python pour rechercher ce fichier et vérifier que votre environnement est correct.
Si vous avez installé anaconda et que celui-ci est devenu l'environnement python par défaut, le module gi peut être installé via:
conda install -c conda-forge pygobject
Voir aussi: https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/161152