python-dev d'erreur d'installation: ImportError: No module named apt_pkg
Je suis utilisateur de Debian, et je veux installer python-dev, mais lorsque j'exécute le code dans le shell en tant que root:
# aptitude install python-dev
J'obtiens l'erreur suivante:
Traceback (most recent call last):
File "/usr/bin/apt-listchanges", line 28, in <module>
import apt_pkg
ImportError: No module named apt_pkg
Ce qui semble être le problème et comment puis-je le résoudre?
on dirait que votre apt ist cassé, ce qui se passe lorsque vous essayez apt-get install python-dev
Quand j'essaie avec apt-get install python-dev il dit qu'il est déjà installé: Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait python-dev est déjà la plus récente version. 0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour. Toutes les autres suggestions?
Quand j'essaie avec apt-get install python-dev il dit qu'il est déjà installé: Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait python-dev est déjà la plus récente version. 0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour. Toutes les autres suggestions?
OriginalL'auteur Belphegor | 2012-12-04
Vous devez vous connecter pour publier un commentaire.
Assurez-vous d'avoir un travail python-apt paquet. Vous pouvez essayer de retirer et d'installer ce package de nouveau pour résoudre le problème avec apt_pkg.afin de ne pas être situé.
enlever à l'aide d'
apt-get remove --purge python-apt
et l'installer à nouveauMerci beaucoup @Arnestig, qui a effectivement travaillé!
Être conscient des autres dépendances. J'ai supprimé le paquet (trop) vite dans Ubuntu et beaucoup d'autres dépendances ont été supprimés (par exemple ubuntu-desktop). C'est de ma faute pour ne pas payer l'attention sur les notes dans le journal, cependant.
Pas vraiment sûr si c'était grâce à python-apt. De regarder packages.ubuntu.com/lucid/ubuntu-desktop pour les dépendances à ubuntu-desktop.
OriginalL'auteur Arnestig
J'ai rencontré ce problème lors
sudo apt-get update
. Mon env est debian8, avec python2.7 + 3.4(par défaut) + 3.5.Le code suivant ne re-créer un
apt_pkg....so
fichier python 3.5Le code suivant résolu mon problème,
Alors, évidemment, python3-apt vérifie la plus haute version de python, au lieu de l'actuelle version de python en cours d'utilisation.
sudo ln -s apt_pkg.cpython-{35m,34m}-x86_64-linux-gnu.so
doit être modifié poursudo ln -s apt_pkg.cpython-{35m,34m}-x86_64-linux-gnu.so apt_pkg.so
Vous êtes incroyable! Pour moi, c'était
sudo ln -s apt_pkg.cpython-{35m,36m}-x86_64-linux-gnu.so
pour python3.6, et cette horrible bug est maintenant disparu.J'nécessaires à l'exécution de
sudo ln -s apt_pkg.cpython-{35m,34m}-x86_64-linux-gnu.so apt
Après l'installation de Python de 3,7 à côté de la valeur par défaut 3.6 dans Ubuntu 18.04 avec
sudo apt install python3.7
j'ai eu ce apt_pkg erreur en essayant de lancer pip, j'ai donc nécessaires à l'exécution decd /usr/lib/python3/dist-packages
puissudo ln -s apt_pkg.cpython-{36m,37m}-x86_64-linux-gnu.so
puissudo apt install python3-pip
.OriginalL'auteur zhazha
Le résoudre par la présente:
/usr/lib/python3/dist-packages# cp apt_pkg.cpython-34m-i386-linux-gnu.so apt_pkg.so
Ou:
/usr/lib/python3/dist-packages# cp apt_pkg.cpython-35m-x86_64-linux-gnu.so apt_pkg.so
En gros, si vous obtenez une
No such file or directory
justels
pour essayer d'obtenir le bon nom.Fonctionne parfaitement
Sur Ubuntu 18.04, utilisez ce $ cd /usr/lib/python3/dist-packages $ sudo cp apt_pkg.disponible-36m-x86_64-linux-gnu.donc apt_pkg.donc
OriginalL'auteur user8178061
Cette erreur se produit généralement lorsqu'une version plus récente de python a été installé à côté d'une ancienne version électronique.g;
Exécuter une commande qui utilise la apt_pkg module et obtenez un message d'erreur tel que;
Lorsque nous installer une autre distrib python3 version avec apt, il permettra de définir un module partagé répertoire à celui de python3 plus généralement, il sera
/usr/lib/python3
.La plupart du temps ce sera ok, mais dans certaines circonstances, les différentes versions de python recourir à des bibliothèques ou à des objets partagés/les bibliothèques de l'autre version de python, de sorte que d'autres réponses l'ont souligné, nous devons le lien .DONC, pour la bonne version de python. Donc, si nous avons python3.6 installé sur un système 64 bits, puis le apt_pkg .DONC, le lien serait
Mais le problème réside dans le fait que lorsque nous avons installé une nouvelle version de python sur le lien de mise à jour pour pointer vers la nouvelle version de python, ce qui conduit à l'erreur de apt_pkg module n'est pas trouvé.
Par la vérification de la version de python fourni avec votre distribution, vous pouvez créer le lien comme indiqué ci-dessus.
Ou nous utilisons une méthode d'offrir de la commande d'un choix de versions de python pour le lien .DONC, comme;
Parce que python va créer ce lien pour le plus récent installé une version de python nous donner le commandement de l'option de choisir parmi 3 versions de python, qui lui permettra de choisir la version la plus récente donnée.
OriginalL'auteur Jamie Lindsey
Pour quelque raison que mon installation était manquant
apt_pkg.so
dans le python3 dist-packages dir. (apt_pkg.cpython-33m-x86_64-linux-gnu.so
était là?!) mais et j'ai eu à faire un lien symboliqueapt_pkg.so -> apt_pkg.cpython-33m-x86_64-linux-gnu.so
dans
/usr/lib/python3/dist-packages
Je ne suis pas sûr que ma mise à niveau a été brisé ou pourquoi cela a été le cas. Elle s'est produite après la tentative de mise à niveau (précise->raring->quantique de mise à niveau)
OriginalL'auteur Jamie Pate
Si vous utilisez python 3.5, de le rétrograder à 3.4. C'est le plus sûr de se déplacer pour faire.
Sous
/usr/lib/python3/dist-packages
vous verrez*34m*
qui python 3.5 ne pouvez pas utiliser. zhazha réponse de lien symbolique pour elle.OriginalL'auteur Pobe
Dernier ressort, est
sudo cp /usr/lib/python3/dist-packages/apt_pkg.cpython-35m-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/apt_pkg.cpython-36m-x86_64-linux-gnu.so
si le
ln
de commande est trop pour vous, ou en quelque sorte comme par magie ne fonctionne pas.cp
ci-dessus peuvent également êtremv
si vous êtes dédié uniquement à l'aide d'une version de Python.OriginalL'auteur Tong Niu
En plus de faire un lien symbolique pour
apt_pkg.so
, vous pouvez faireapt_inst.so
de la même manière deapt_pkg.so
.OriginalL'auteur Jihwan Park
Veuillez essayer de résoudre ce problème en définissant les variables régionales:
OriginalL'auteur rajendra sharma
Juste au cas où il aide un autre, j'ai enfin résolu ce problème, qui a été apparemment causée par une version de python conflits, en redirigeant le lien python3, ensuite rediriger vers la bonne version de python:
Vous devrez peut-être saisir la bonne version de python, trouvé avec:
Il n'est jamais une bonne idée de dire aux gens d'enlever des choses à partir de là, sauf si elle est vraiment nécessaire. Heureusement, /usr/bin/python3 est normalement juste un lien symbolique de toute façon. Je pense vraiment que vous devriez simplement supprimer cette réponse.
OriginalL'auteur matthias2t