web-dev-qa-db-fra.com

Comment résoudre le problème 'ImportError: impossible d'importer le nom IncompleteRead'?

Lorsque j'essaie d'installer quelque chose avec pip ou pip3, je reçois:

$ Sudo pip3 install python3-tk
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    load_entry_point('pip==1.5.6', 'console_scripts', 'pip3')()
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 356, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2476, in load_entry_point
    return ep.load()
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2190, in load
    ['__name__'])
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 61, in <module>
    from pip.vcs import git, Mercurial, Subversion, Bazaar  # noqa
  File "/usr/lib/python3/dist-packages/pip/vcs/Mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python3/dist-packages/pip/download.py", line 25, in <module>
    from requests.compat import IncompleteRead
ImportError: cannot import name 'IncompleteRead'

J'ai un système Ubuntu 14.10.

Comment puis-je résoudre ce problème?

285
Martin Thoma

Bien que cette réponse précédente puisse en être la raison, cette capture a fonctionné pour moi en tant que solution (dans Ubuntu 14.04):

Tout d'abord, supprimez le paquet du gestionnaire de paquets:

# apt-get remove python-pip

Et installez ensuite la dernière version côte à côte:

# easy_install pip

(merci à @Aufziehvogel, @JunchaoGu)

433
thomas.mc.work

Ce problème est dû à une incompatibilité entre l'installation de votre pip et celle de vos requêtes.

A partir de la version 2.4.0 des demandes requests.compat.IncompleteReada été supprimé . Anciennes versions de pip, par exemple à partir de juillet 2014 , toujours utilisé sur IncompleteRead. Dans le version actuelle de pip, l'importation de IncompleteRead a été supprimée.

Donc, celui à blâmer est soit:

  • requêtes, pour la suppression trop rapide des API publiques
  • Ubuntu pour mettre à jour pip trop lentement

Vous pouvez résoudre ce problème en mettant à jour pip via Ubuntu (s'il existe une version plus récente) ou en installant pip en dehors de Ubuntu.

85
Aufziehvogel

Pour la fixation de pip3 (travaillé sous Ubuntu 14.10):

easy_install3 -U pip
80
Branden Ghena

Ou vous pouvez supprimer tous les requests.

Par exemple:

  • rm -rf /usr/local/lib/python2.7/dist-packages/requests*
30
Marius Stanca

Sur Ubuntu 14.04, j'ai résolu ce problème en utilisant le script bootstrap d'installation de pip, comme décrit dans la documentation

wget https://bootstrap.pypa.io/get-pip.py
Sudo python get-pip.py

C'est une solution acceptable pour un environnement de développement.

23
robert_b_clarke

Le problème est le module Python requests. Il peut être corrigé par

$ Sudo apt-get purge python-requests
[now requests and pip gets deinstalled]
$ Sudo apt-get install python-requests python-pip

Si vous avez ce problème avec Python 3, vous devez écrire python3 au lieu de python.

17
Martin Thoma

Cela devrait fonctionner pour vous. Suivez ces étapes simples.

Commençons par supprimer le pip déjà installé pour éviter toute erreur.

Terminal ouvert.

Tapez: Sudo apt-get remove python-pip

Il supprime le pip déjà installé.

Method-1

Étape: 1 Sudo easy_install -U pip

Il installera la dernière version de pip.

Et retournera son adresse: Installé /usr/local/lib/python2.7/dist-packages/pip-6.1.1-py2.7.Egg

ou

Method-2

Étape: 1 allez à cette lien .

Étape: 2 Cliquez avec le bouton droit de la souris sur >> Enregistrer sous .. avec le nom get-pip.py.

Étape: 3 utilisez: cd pour aller au même répertoire que votre fichier get-pip.py

Étape: 4 utiliser: Sudo python get-pip.py

Il installera la dernière version de pip.

ou

Méthode 3

Étape: 1 utiliser: Sudo apt-get install python-pip

Il installera la dernière version de pip.

9
kiok46

Exécuter simplement easy_install -U pip a résolu mon problème.

8
forzagreen

Ma version de pip sur Ubuntu suggère:

  pip install --upgrade pip
6
PhoebeB

Sous Windows, cela fonctionnait à partir d'une invite administrative:

  • Supprimer C:\Python27\Lib\site-packages\requests*
  • easy_install requests==2.3
  • pip install --upgrade pip
  • pip install --upgrade requests
4
Jim Hunziker

Vérifiez si vous avez une ancienne version de requests dans votre ~/.local/lib/python2.7/site-packages/ et supprimez-la si c'est le cas (changez le chemin pour qu'il reflète votre version python). Cela a résolu le problème pour moi.

4
ggll

J'ai essayé avec toutes les réponses ci-dessous, mais je n'ai pas réussi.

A fait cela et a travaillé

Sudo apt-get purge python-virtualenv
Sudo pip install pip -U

Après cela, je viens d'installer virtualenv avec pip

Sudo pip install virtualenv

J'ai construit le virtualenv sur lequel je travaillais et le paquet a été installé facilement. Entrez dans virtualenv en utilisant source /bin/activate et essayez d'installer votre paquet, par exemple:

pip install terminado

Cela a fonctionné pour moi, bien que j'utilisais python2.7 et non python3

3
Bruno O. Sánchez

Pour CentOS, j'ai utilisé ceci et cela a fonctionné, veuillez utiliser les commandes suivantes:

Sudo pip uninstall requests
Sudo pip uninstall urllib3
Sudo yum remove python-urllib3
Sudo yum remove python-requests

(confirmez que toutes ces bibliothèques ont été supprimées)

Sudo yum install python-urllib3
Sudo yum install python-requests
0
JohnBegood
  1. Sudo apt-get supprimer python-pip
  2. Demandes Sudo easy_install == 2.3.0
  3. Sudo apt-get installez python-pip
0
teddy

Vérifiez si un interprète python est actif dans l'une des fenêtres du terminal. Si oui, tuez-le et essayez Sudo pip qui a fonctionné pour moi.

0
samsamara

Vous pouvez télécharger les packages récents manuellement à partir de ces pages:

Ensuite, installez-le en exécutant dpkg:

dpkg -i *.deb
0
juj