Je viens de mettre à jour du 16.04 au 17.10, et chaque fois que j'essaie d'exécuter une commande python2.7, j'obtiens cette erreur:
pip install --upgrade pip
Traceback (most recent call last):
File "/home/XXXX/bin/pip", line 7, in <module>
from pip import main
File "/home/XXXX/local/lib/python2.7/site-packages/pip/__init__.py",
line 5, in <module>
import logging
File "/usr/lib/python2.7/logging/__init__.py", line 26, in <module>
import sys, os, time, cStringIO, traceback, warnings, weakref,
collections
File "/home/XXXX/lib/python2.7/weakref.py", line 14, in <module>
from _weakref import (
ImportError: cannot import name _remove_dead_weakref
Un autre utilisateur a eu un problème similaire, mais cela affecte tout programme python que j'essaie d'exécuter. Je ne peux rien installer via pip, ni utiliser de scripts python. Je ne sais vraiment pas quoi faire, une aide serait grandement appréciée.
La sortie de "python --version" est
Python 2.7.12
cependant, "update python" produit:
python is already the newest version (2.7.14-2ubuntu1).
python-2.7
Alaisdar Alves
la source
la source
ImportError: cannot import name _remove_dead_weakref
. Mon Python est 2.7.14Réponses:
Ce n'est pas une solution Ubuntu, mais parce que cette question apparaît en haut dans les résultats de recherche de l'erreur, je voulais dire que j'avais cette erreur sur OSX car mon système par défaut Python était de 2,7, et j'ai préparé "python @ 2" pendant que l'installation d'un autre package.
Si vous êtes sous OSX et que vous utilisez homebrew, vérifiez vos packages installés avec brew en exécutant
brew list
, et si "python @ 2" apparaît dans cette liste, et Python 2.7 est votre système Python, vous pouvez supprimer le package installé brew avecbrew remove python@2 --ignore-dependencies
la source
swift
sur Mac, j'ai eu les erreurs mentionnées ci-dessus. Il s'est avéré que c'était parce qu'il utilisait python2 de brew. Le supprimer a résolu mon problème.lldb
avertissement.Dans le cas où vous utilisiez un environnement virtuel, vous devrez le recréer. L'autre possibilité est que vous utilisiez une version de python basée sur la source ou installée latéralement qui se heurte à celle du système. Dans ce cas, vous devez déterminer que les bons dossiers et chemins d'accès sont configurés à partir des différents environnements.
la source
Dans mon cas, c'était une erreur liée à l'environnement virtuel. La création d'un nouvel environnement virtuel a donc fonctionné pour moi. Voici la liste des commandes qui peuvent vous y aider.
Installation de l'environnement virtuel:
Création d'un nouvel environnement virtuel:
Activation de l'environnement virtuel:
Désactiver votre environnement virtuel:
la source