python - use - Como corrijo 'ImportError: não é possível importar o nome IncompleteRead'?




python pip docs (11)

Quando tento instalar qualquer coisa com pip ou pip3 , recebo:

$ 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'

Eu tenho um sistema Ubuntu 14.10.

Como posso resolver este problema?


  1. sudo apt-get remove python-pip
  2. pedidos sudo easy_install == 2.3.0
  3. O sudo apt-get instala o python-pip

A simples execução do easy_install -U pip resolveu meu problema.


Esse problema é causado por uma incompatibilidade entre a instalação do pip e a instalação dos pedidos.

A partir das solicitações, a versão 2.4.0 orders.compat.IncompleteRead foi removida . As versões mais antigas do pip, por exemplo, a partir de julho de 2014 , ainda contavam com o IncompleteRead . Na versão atual do pip, a importação do IncompleteRead foi removida.

Portanto, o culpado é:

  • solicitações, para remover API pública muito rapidamente
  • Ubuntu para atualizar o pip muito lentamente

Você pode resolver esse problema, atualizando o pip via Ubuntu (se houver uma versão mais recente) ou instalando o pip além do Ubuntu.


Eu tentei com todas as respostas abaixo, mas não consegui.

Fiz isso e funcionou

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

Depois disso, acabei de instalar o virtualenv com pip

sudo pip install virtualenv

Criei o virtualenv em que estava trabalhando e o pacote foi instalado facilmente. Entre no virtualenv usando source /bin/activate e tente instalar seu pacote, por exemplo:

pip install terminado

Funcionou para mim, embora eu estivesse usando python2.7 e não python3


Minha versão do pip no ubuntu sugere:

  pip install --upgrade pip

No Ubuntu 14.04, resolvi isso usando o script de inicialização da instalação do pip, conforme descrito na documentação

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

Essa é uma solução OK para um ambiente de desenvolvimento.


O problema são os requests módulo Python. Pode ser corrigido por

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

Se você tiver esse problema com o Python 3, precisará escrever python3 vez de python .


Ou você pode remover todos os requests .

Por exemplo:

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

Para o CentOS eu usei isso e funcionou, use os seguintes comandos:

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

(confirme se todas essas bibliotecas foram removidas)

sudo yum install python-urllib3
sudo yum install python-requests

Verifique se tem um intérprete python ativo em qualquer uma das janelas do terminal. Se sim, mate-o e tente o sudo pip que funcionou para mim.






pip