Как исправить 'ImportError: не могу импортировать имя IncompleteRead'?

Когда я пытаюсь установить что-либо с помощью pip или pip3, я получаю:

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

У меня есть система Ubuntu 14.10.

Как я могу исправить эту проблему?

Ответ 1

В то время как этот предыдущий ответ мог быть причиной, это отрезало для меня как решение (в Ubuntu 14.04):

Сначала удалите пакет из диспетчера пакетов:

# apt-get remove python-pip

И затем установите последнюю версию:

# easy_install pip

(благодаря @Aufziehvogel, @JunchaoGu)

Ответ 2

Эта проблема вызвана несоответствием между установкой вашего пакета и установкой ваших запросов.

По запросу удалена версия 2.4.0 requests.compat.IncompleteRead . Старые версии пипса, например. с июля 2014 года, все еще полагался на IncompleteRead. В текущей версии пипа, импорт IncompleteRead был удален.

Таким образом, виноват либо:

  • для быстрого удаления общедоступного API.
  • Ubuntu для обновления ПП слишком медленно

Вы можете решить эту проблему, либо обновив pip через Ubuntu (если есть более новая версия), либо установив pip в сторону Ubuntu.

Ответ 3

Для фиксации pip3 (работает на Ubuntu 14.10):

easy_install3 -U pip

Ответ 4

Или вы можете удалить все requests.

Например:

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

Ответ 5

В Ubuntu 14.04 я решил это, используя bootstrap установки script, как описано в документации

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

Это решение OK для среды разработки.

Ответ 6

Проблема заключается в модуле Python requests. Его можно зафиксировать на

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

Если у вас есть эта проблема с Python 3, вам нужно написать python3 вместо python.

Ответ 7

Это должно сработать для вас. Следуйте этим простым шагам.

Сначала удалите уже установленный пипс, чтобы он не вызывал никаких ошибок.

Открыть терминал.

Тип: sudo apt-get удалить python-pip

Он удаляет уже установленную пишу.

Метод-1

Шаг: 1 sudo easy_install -U pip

Он установит последнюю версию pip.

И вернет свой адрес: Установлен /usr/local/lib/python 2.7/dist-packages/pip-6.1.1-py2.7.egg

или

Метод-2

Шаг: 1 перейдите к этой ссылке.

Шаг: 2 Щелкните правой кнопкой мыши → Сохранить как.. с именем get-pip.py.

Шаг: 3 используйте: cd, чтобы перейти в тот же каталог, что и ваш файл get-pip.py

Шаг: 4: sudo python get-pip.py

Он установит последнюю версию pip.

или

Метод-3

Шаг: 1: sudo apt-get install python-pip

Он установит последнюю версию pip.

Ответ 8

Просто запуск easy_install -U pip разрешил мою проблему.

Ответ 9

Моя версия pip на ubuntu предлагает:

  pip install --upgrade pip

Ответ 10

Проверьте, есть ли у вас более старая версия requests, сидящая в вашем ~/.local/lib/python2.7/site-packages/, и удалите ее, если это так (измените путь, чтобы отразить вашу версию python). Это решило проблему для меня.

Ответ 11

В Windows это работало из командной строки:

  • Удалить C:\Python27\Lib\site-packages\requests*
  • easy_install requests==2.3
  • pip install --upgrade pip
  • pip install --upgrade requests

Ответ 12

Я попытался с каждым ответом ниже, но не смог его сделать.

Сделал ли это и работал

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

После этого я только что установил virtualenv с pip

sudo pip install virtualenv

Я построил virtualenv, над которым я работал, и пакет был легко установлен. Войдите в virtualenv, используя source /bin/activate и попробуйте установить пакет, например:

pip install terminado

Это сработало для меня, хотя я использовал python2.7, а не python3

Ответ 13

Проверьте, есть ли в интерпретаторе python один из окон терминала. Если это убьет его и попробуйте sudo pip, который работал у меня.

Ответ 14

  • sudo apt-get удалить python-pip
  • запросы sudo easy_install == 2.3.0
  • sudo apt-get install python-pip

Ответ 16

Для CentOS я использовал это, и он работал, пожалуйста, используйте следующие команды:

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

(убедитесь, что все эти библиотеки удалены)

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