'ImportError: IncompleteRead adı içe aktarılamıyor' seçeneğini nasıl düzeltirim?


284

pipVeya ile bir şey yüklemeye çalıştığımda 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'

Bir Ubuntu 14.10 sistemim var.

Bu sorunu nasıl düzeltebilirim?



@cel: Bu bir kopya değil, çünkü Windows için ve ben zaten gördüm.
— Martin Thoma

Kabul edilen yanıttaki bağlantı ubuntu'nun sorun izleyicisine işaret ediyor - bu nedenle bu sorun pencerelere özgü görünmüyor. OPÖnerildiği gibi python'u yeniden yüklemeyi denediniz mi?
— cel

@ cel Boş ver, oldukça basit bir çözüm buldum.
— Martin Thoma

4
... hangisi neydi?
— Jonathan Hartley

Yanıtlar:


433

İken bu önceki cevabı nedeni olabilir, bu Kesik bir solüsyon (olduğu gibi benim için çalıştı Ubuntu 14.04):

İlk olarak paketi paket yöneticisinden kaldırın:

# apt-get remove python-pip

Ve son sürümü yan yana yükleyin:

# easy_install pip

(@Aufziehvogel, @JunchaoGu sayesinde)


10
İlgilenenler için:: --upgrade (-U)kuvvet yükseltme (en son sürümler için PyPI'yi arar)
— Martin Thoma

11
Sadece dikkatli olmalısınız, yerel paket yöneticinizi (apt) yan yana kurarak karıştırmayın easy_install. Mümkünse, tavsiye ederim apt-get remove pipve sonra easy_install pip.
— Aufziehvogel

16
@Aufziehvogelapt-get remove python-pip
— eggonlegs

7
Temel olarak bu cevap durumu daha da kötüleştiriyor.
— hek2mgl

7
Benim için bu 'apt-get remove python3-pip', ardından 'apt-get install python3-setuptools', ardından 'easy_install3 pip'
— Jason Pepas

85

Bu sorunun nedeni, pip kurulumunuz ile isteklerinizin yüklenmesi arasındaki uyumsuzluktur.

İstekler doğrultusunda 2.4.0 sürümü requests.compat.IncompleteRead kaldırılmıştır . Pip'in eski sürümleri, örneğin Temmuz 2014'ten itibaren , hala güveniyordu IncompleteRead. Gelen geçerli sürüm pip, ithalatı IncompleteReadkaldırılmıştır.

Suçlanacak olan ya:

  • genel API'yı çok hızlı bir şekilde kaldırmak için istekler
  • Ubuntu pipi çok yavaş güncellemek için

Bu sorunu, ya Ubuntu üzerinden pip güncelleyerek (daha yeni bir sürüm varsa) ya da Ubuntu'dan bir yana pip kurarak çözebilirsiniz.


3
pip install istekleri -U, sorunu düzeltti.
— jonincanada

2
@jonincanada pip çöktüğünde nasıl pip komutu çalıştırmam gerekiyor?
— Peter

80

Pip3'ü sabitlemek için (Ubuntu 14.10 üzerinde çalıştı):

easy_install3 -U pip

2
Bu Ubuntu 14.04'te de çalışıyor. Bu /usr/local/bin/pipPython3 için bir yükler unutmayın; daha önce pipbir Python 2 sürümü çalıştırıyordu. Ben /usr/local/bin/piptamamen devre dışı bırakarak düzeltildi, bu yüzden açıkça çalıştırmak zorunda pip2veya pip3.
— Nelson

3
Debian Jessieiçin python2.7- pip sudo apt-get purge python-requestsapt-get ile temizlendikten ve yeniden yüklendikten sonra (başka bir cevapta gösterilir), koşma easy_install -U piphile yaptı.
— MikeiLL

1
Kendim için her şeyden çok; bu benim için işe yarayan düzeltmedir.
— Hamid

Tıkır tıkır çalışıyor!
— Başarısız Bilim İnsanı

33

Veya hepsini kaldırabilirsiniz requests.

Örneğin:

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

Bu benim için çalıştı. Python-pip kurulum isteklerinin ilişkisinin ne olduğunu öğrenebilir miyim
— Roselyn Verbo Domingo

requestsModüle bakarsanız , bu modülün / lib'in HTTP istekleri göndermek için kullanıldığını göreceksiniz. pipmodül , sizin tarafınızdan kaldırılan requests`` Python Paket Dizini . And the isteklerinden '' paketleri indirmek için modülün pipyüklenmesi gereken başka bir sürümüne sahip olmalıdır.
— Marius Stanca

Bu benim için de işe yaradı; pipRaspbian Jessie'nin yeni / yeni bir kurulumuna (Raspberry Pi için) bağımlılıkları yüklemek için modülü kullanan bir Ansible playbook çalıştırırken hatayla karşılaştım . İstek dağıtım paketini sildikten sonra her şey harika çalışıyor.
— geerlingguy

Benim için de çalıştı. İşletim sistemimi wheezy'den jessie'ye yükselttim, bu yüzden bir şey kırmış olabilir. Yukarıda belirtilen üç yöntem benim için ilk başta işe yaramadı. Ancak yöntem 3 ve sonra rm -rf komutunu kullandıysanız işe yaradığını buldum.
— Eamonn Kenny

bu işi yaptı, yine de debian repo'dan pip tutarak. çok teşekkürler!
— Stefan

23

Ubuntu 14.04'te , dokümanlarda açıklandığı gibi pip kurulum önyükleme komut dosyasını kullanarak bunu çözdüm

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

Bu bir geliştirme ortamı için uygun bir çözümdür.


Bu sorunu çözer. LTS sürümünde böyle bir sorunun hala açık olması çok kötü.
— ganesshkumar

Ubuntu 15'te bu sorunu yaşadım ve çalışıyor gibi görünüyor. Get-pip.py betiği zaten aradığım pakete sahip olduğumu söyledi ama sudo'nun çalıştığına inandığım -H bayrağıyla kullanmanızı önerdi.
— Rick Henderson

17

Sorun Python modülü requests. Tarafından sabitlenebilir

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

Python 3 ile bu sorunu yaşıyorsanız, python3bunun yerine yazmak zorundasınız python.


4
Kesinlikle güzel bir çözüm.
— Tinker Sun

8
Bilmek güzel purge. Bu hala pip çalışan bir sürümünü yüklemedi ve ben from requests.compat import IncompleteReadpiton CLI çalıştırmak için çalıştı aynı hata verdi. Yukarıdaki komutları çalıştırdıktan sonra ne işe easy_install -U pip
— yaradı

Bu, easy_install içermeyen ve ilk önce pip'i kaldırarak sisteminizi etkilemeyen en iyi çözümdür.
— Marc Tamsky

9

Bu senin için işe yaramalı. Bu basit adımları izleyin.

İlk olarak, kurulu olan pip'i kaldıralım, böylece herhangi bir hataya neden olmaz.

Terminal'i açın.

Tür: sudo apt-get kaldır python-pip

Kurulu olan pip'i kaldırır.

Yöntem 1

Adım: 1 sudo easy_install -U pip

Pip son sürümünü yükleyecektir.

Ve adresini döndürür: Yüklü /usr/local/lib/python2.7/dist-packages/pip-6.1.1-py2.7.egg

veya

Yöntem-2

Adım: 1 bu bağlantıya gidin .

Adım: 2 get-pip.py adıyla >> Farklı kaydet .. seçeneğini sağ tıklayın.

Adım: 3 get-pip.py dosyanızla aynı dizine gitmek için: cd kullanın

Adım: 4 kullanım: sudo python get-pip.py

Pip son sürümünü yükleyecektir.

veya

Yöntem-3

Adım: 1 kullanım: sudo apt-get install python-pip

Pip son sürümünü yükleyecektir.


Cevabınıza biraz daha ayrıntı ekleyebilir misiniz?
— abarisone

Elbette. Ama nerede kafan karıştı?
— kiok46

Teşekkürler python-pip kaldırıldı ve sonra easy_install kullanılır. pip tekrar çalışıyor.
— phansen

@phansen no problem (y)
— kiok46

8

Sadece koşmak easy_install -U pipsorunumu çözdü.


2
Eski bir yorum sadece bu çok basit, yararlı bir çözüm bulmak için çeşitli yazılımlar tasfiye apt-almak bir grup insan aracılığıyla beklemek zorunda kaldım ifade etmek için yorum. Soru sorulduğunda tüm sınırlamaların ne olduğundan emin değilim, ama bu işe yaradı .
— mttpgn

5

Eski bir sürümünüzün olup olmadığını kontrol requestsedin ~/.local/lib/python2.7/site-packages/ve durum buysa kaldırın (python sürümünüzü yansıtacak şekilde değiştirin). Bu benim için sorunu çözdü.


5

Ubuntu'daki pip sürümüm şunları önerir:

  pip install --upgrade pip

4
Pip tamamen bu hatayla doluydu gibi benim için çalışmadı. Herhangi bir kullanım (çift pip --version) cannot import name IncompleteReadhatayı görüntüler , bu nedenle pip ne yazık ki kendini yükseltemez
— Abe Voelker

Aslında bu Ubuntu 14.04'ün (bootstrap from minbase) temiz bir kurulumu üzerinde çalışıyor . Bir şekilde modülü pipreferans vermeden kendini güncellemeyi başarıyor requests.
— ony

Bu kırık bir pip ile çalışmaz - tavuk veya yumurta ikilemi.
— Arnie97

4

Windows'da, bu bir yönetim isteminden çalıştı:

  • Sil C:\Python27\Lib\site-packages\requests*
  • easy_install requests==2.3
  • pip install --upgrade pip
  • pip install --upgrade requests

Takılı / yeniden kurulmuş python-requestsve python3-requestshangi sabit boru3. Python3.6beta sonra python3.6rc yükleme hatası yapmıştı.
— noobninja

3

Her cevaptan kaçınarak denedim ama başaramadım.

Bunu yaptı ve çalıştı

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

Bundan sonra pip ile virtualenv kurdum

sudo pip install virtualenv

Üzerinde çalıştığım virtualenv'i kurdum ve paket kolayca kuruldu. Kullanarak virtualenv'e girin source /bin/activate ve paketinizi yüklemeyi deneyin, örneğin:

pip install terminado

Benim için çalıştı, python3 değil python2.7 kullanıyordum


0

Terminal pencerelerinden herhangi birinde canlı bir python yorumlayıcı olup olmadığını kontrol edin. Eğer öyleyse öldür ve sudo pipbenim için hangisinin işe yaradığını dene .


0
  1. sudo apt-get Kaldır python-pip
  2. sudo easy_install istekleri == 2.3.0
  3. sudo uygun-get install python-pip


0

CentOS için bunu kullandım ve çalıştı, lütfen aşağıdaki komutları kullanın:

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

(tüm bu kütüphanelerin kaldırıldığını doğrulayın)

sudo yum install python-urllib3
sudo yum install python-requests
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.