10 votes

"ImportError : No module named _struct" configuration de Python-minimal

Quand je cours sudo apt-get upgrade l'erreur dpkg apparaît et interrompt le processus.

Détails de l'erreur :

Setting up python-minimal (2.7.3-0ubuntu7.1) ...
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/local/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/lib/python2.7/compileall.py", line 16, in <module>
    import struct
  File "/usr/local/lib/python2.7/struct.py", line 1, in <module>
    from _struct import *
ImportError: No module named _struct
dpkg: error processing python-minimal (--configure):
 subprocess installed post-installation script returned error exit status 255
dpkg: dependency problems prevent configuration of python:
 python depends on python-minimal (= 2.7.3-0ubuntu7.1); however:
  Package python-minimal is not configured yet.

Et ce problème conduit à une série de problèmes de dépendance lors du traitement des paquets suivants :

 python
 gwibber-service
 libgwibber3
 libgwibber-gtk3
 gwibber
 gwibber-service-facebook
 gwibber-service-identica
 gwibber-service-twitter
 python-all
 python-dev
 python-all-dev
 python-apt
 python-problem-report
 python-apport
 python-libxml2
 unity-lens-gwibber
 unity-scope-video-remote

Finalement, je ne peux rien faire pour ce problème. Et plusieurs jours plus tard, le répertoire racine est plein et je n'ai même pas pu désinstaller de logiciel à cause de ce problème.

8voto

Leo Pimentel Points 81

Suivez la solution de Soroosh. Python cassé (2.7) après avoir construit et installé manuellement Python 2.6

Entrez sudo -i pour l'accès à la racine.

Collez la commande et attendez environ 20 minutes. Cela fonctionne parfaitement.

for pkg in $(dpkg --get-selections | egrep -v 'deinstall' | egrep python | awk '{print $1}'); do  apt-get -y --force-yes install --reinstall $pkg ; done

1voto

Chuck R Points 4758

OK, en parcourant les paquets, j'ai constaté que Python-minimal n'a pas struct.py, mais que Python-minimal2.7 l'a.

Alors, essayez ceci et voyez si cela vous aide :

sudo apt-get install --reinstall python2.7-minimal
sudo apt-get upgrade

Si cela ne fonctionne pas, peut-être que votre $PYTHONPATH est défectueux.

nano ~/.bashrc

Ajoutez la ligne export PYTHONPATH="${PYTHONPATH}:/usr/lib/python2.7" puis

source ~/.bashrc

Et réessayez votre mise à jour.

1voto

Jay Points 121

Essayez ceci

sudo apt purge libpython*

J'ai supprimé python2.7 et 3.7, puis supprimé du système les fichiers associés. Après cela, je me suis aperçu que je ne pouvais pas réinstaller python2.7. J'ai essayé de nombreuses méthodes qui ne fonctionnent toujours pas, notamment :

supprimer les liens logiciels

supprimer les répertoires d'env. virtuels

autoremove

sudo dpkg --purge `dpkg --get-selections | grep deinstall | cut -f1`

Ensuite, j'ai trouvé quelques fichiers libpython en cherchant dans tout le système Python. (Ne pas effacer les fichiers du répertoire si vous n'êtes pas sûr). Après avoir supprimé libpython* (je les ai supprimés un par un.), Python s'est installé avec succès.

J'espère que cela pourra aider certaines personnes qui ont les mêmes problèmes.

0voto

Chuck R Points 4758

Je ne sais pas si cela va vous aider, c'est un peu un coup de couteau dans le vide, mais assurez-vous que votre version par défaut de Python est bien la 2.7.

Il y a trois fichiers importants dans /usr/bin :

python (symlink)
python2.7
python3 (symlink)

Si vous le faites ls -l /usr/bin | grep python vous verrez vers quoi pointe chaque lien symbolique.

Si cela vous montre python -> python3 o python -> python3.3 il y a quelque chose qui ne va pas. A ce stade, vous voudrez :

rm /usr/bin/python
ln -s /usr/bin/python2.7 /usr/bin/python

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X