J'ai besoin d'aide de toute urgence :(
J'essayais de mettre à jour mon Python et de tout gâcher dans mon système.
Je suis actuellement en mesure de démarrer mon centre de logiciel. J'ai essayé plusieurs corrections sur Google, mais rien n'y fait. Mon centre de logiciels ne peut pas démarrer.
Lorsque j'essaie de le démarrer, cette erreur indique:
astephen@localhost:/usr/bin$ ./software-centerGtk-Message: Failed to load module "gtk-vector-screenshot"
Traceback (most recent call last):
File "./software-center", line 36, in <module>
from softwarecenter.utils import (
File "/usr/share/software-center/softwarecenter/utils.py", line 19, in <module>
import dbus
ImportError: No module named dbus
J'ai essayé de rétablir Dbus en utilisant
apt-get install --reinstall dbus
mais cela n'a pas aidé :(
astephen@localhost:/usr/bin$ Sudo apt-get install --reinstall dbusReading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0 B/231 kB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 676272 files and directories currently installed.)
Preparing to unpack .../dbus_1.6.18-0ubuntu4.3_AMD64.deb ...
Unpacking dbus (1.6.18-0ubuntu4.3) over (1.6.18-0ubuntu4.3) ...
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up dbus (1.6.18-0ubuntu4.3) ...
Toute aide est appréciée :(
Une recherche rapide révèle que le nom du paquet Debian pour le module DBUS Python s'appelle python-dbus
(ou python3-dbus
). Pourquoi il n'est pas disponible alors qu'il s'agit d'une dépendance explicite du paquetage software-center
me dépasse. Vous devez réinstaller les deux packages au cas où ils seraient corrompus:
Sudo apt-get install --reinstall software-center python-dbus
Si votre module python3 ne peut pas trouver la bonne version de paquet, un hack possible consiste à créer des liens symboliques vers les anciennes versions. En cas de dbus, vous pouvez procéder comme suit. (Disons que vous venez de mettre à jour python3.5 vers python3.6) $ cd /usr/lib/python3/dist-packages/ $ ln -s _dbus_glib_bindings.cpython-{35m,36m}-x86_64-linux-gnu.so
Si vous obtenez d'autres erreurs, essayez de lier tous les packages.
a=$(find /usr/lib/python3/dist-packages -name '*35m*so')
b=$(echo $a | tr 35m 36m)
IFS=' ' read -r -a a <<< $a
IFS=' ' read -r -a b <<< $b
for ((i=0;i<${#a[@]};++i)); do
ln -s "${a[i]}" "${b[i]}"
done
Vous devez installer le package dbus-python
à l'aide de pip
ou pip3
:
pip3 install dbus-python
ou
pip install dbus-python
Peut-être vous avez besoin de Sudo
avant les commandes ci-dessus.
Adrian O'neil Stephen:
j'ai essayé d'exécuter Sudo -h pip install dbus, mais il a renvoyé: Impossible de trouver une version qui satisfait à l'exigence dbus (à partir des versions:) Aucune distribution correspondante trouvée pour dbus Des idées? :( -
De plus amples informations sur ce que vous avez fait seraient utiles, cependant, mes intuitions:
Lors de la mise à niveau vers python3, les modules changent parfois de nom/la procédure d’importation change; avez-vous supprimé votre ancien environnement python manuellement ou installé quelque chose à partir de git?
Installez aptitude, il recommande des moyens de résoudre les dépendances. Soyez prudent, cependant, vérifiez toujours ce qu'il veut faire, quels autres objets peuvent être affectés par ce changement, et écrivez ce que vous faites et ce que fait l'aptitude afin que vous puissiez toujours annuler d'éventuels faux pas .
Parfois, il est préférable de tout bricoler (de préférence après une sauvegarde, en utilisant la fonction d'exportation des applications que vous souhaitez sauvegarder, de préférence. Cela simplifie les choses).