วิธีแก้ ReadTimeoutError: HTTPSConnectionPool (host = 'pypi.python.org', port = 443) ด้วย pip?


93

ฉันเพิ่งติดตั้งแพ็คเกจบางอย่าง

pip install future
pip install scikit-learn
pip install numpy
pip install scipy

ฉันยังพยายามเขียนsudoก่อนหน้าพวกเขา แต่ทั้งหมดเกิดข้อผิดพลาดต่อไปนี้เป็นเส้นสีแดง:

Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 290, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1198, in prepare_files
    do_download,
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1376, in unpack_url
    self.session,
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 572, in unpack_http_url
    download_hash = _download_url(resp, link, temp_location)
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 433, in _download_url
    for chunk in resp_read(4096):
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 421, in resp_read
    chunk_size, decode_content=False):
  File "/usr/lib/python2.7/dist-packages/urllib3/response.py", line 256, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/usr/lib/python2.7/dist-packages/urllib3/response.py", line 201, in read
    raise ReadTimeoutError(self._pool, None, 'Read timed out.')
ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out.

Storing debug log for failure in /root/.pip/pip.log'

2
เว้นแต่จะมีข้อผิดพลาดที่เรียกว่าข้อผิดพลาดของหน้าจอสีแดงอย่าใส่เป็นชื่อเรื่อง
abccd

4
ฉันคิดว่ามันเป็นปัญหาเครือข่ายลองping pypi.python.orgดูว่าใช้งานได้หรือไม่ สามารถแก้ไขได้ด้วยสิ่งง่ายๆเพียงแค่รีสตาร์ทเราเตอร์หรือเชื่อมต่ออินเทอร์เน็ตใหม่หรือลองอีกครั้งหลังจากนั้นสักครู่ โปรดติดตามHow to askก่อนโพสต์ที่นี่
Krishna Chaitanya Kornepati

สิ่งนี้อาจเกิดขึ้นได้หากมีการผ่านพร็อกซี ทำ: pip install future --proxy = <your proxy site>
user3885927

ฉันแก้ปัญหาด้วยการหยุดพร็อกซี openconnect: | :))
Mojtaba Arvin

คำตอบ:


182

เย้เย้! ฉันได้พบคำตอบแล้ว เพียงใช้ --default-timeout = 100 พารามิเตอร์กับการติดตั้ง เช่น

sudo pip install --default-timeout=100 future

16
หรือฉันใช้export PIP_DEFAULT_TIMEOUT=100ตั้งแต่ฉันมีpipคำสั่งใน Dockerfile ที่ใช้ร่วมกันและเป็นข้อกำหนดชั่วคราวสำหรับฉัน แต่มันได้ผลขอบคุณ!
Kerem

8
ขอบคุณมันช่วยฉันในสภาพอินเทอร์เน็ตที่ช้า ฉันเดาว่า 100 คือจำนวนวินาทีที่ pip จะรอการเชื่อมต่อใหม่หลังจากที่ขาดการเชื่อมต่อ?
LittleZero

1
ฉันสามารถตั้งค่าระยะหมดเวลาได้หรือไม่
Timo

1
ฉันไม่สามารถหาการตั้งค่าด้วยหรือpip help pip install helpมี socket timeouthowerver ฉันสงสัยว่าค่าเริ่มต้นคืออะไร?
Timo

1
ฉันไม่สามารถหาการตั้งค่าด้วยหรือpip help pip install helpมี socket timeouthowerver ฉันสงสัยว่าค่าเริ่มต้นคืออะไร?
Timo

8

sudo pip install --default-timeout = 100 อนาคต

หรืออีกทางหนึ่ง

ส่งออก PIP_DEFAULT_TIMEOUT = 100 ใช้งานได้สำหรับฉันบน mac osx


0

มีสองวิธีในการจัดการปัญหานี้

วิธีแรก:

sudo pip install --default-timeout = 100 อนาคต

อันที่สอง: pip install --default-timeout = 100 future

หมายเหตุ: หากคุณไม่ใช่ superuser ของเครื่องคำสั่ง sudo pip จะไม่ทำงาน (มันเกิดขึ้นกับฉัน)


2
โปรดทราบว่าไม่ควรใช้ 'sudo' กับ pip ใช้แฟล็ก '--user' แทน
พบกับ Sinojia
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.