Cách giải quyết lỗi ReadTimeoutError: HTTPSConnectionPool (host = 'pypi.python.org', port = 443) bằng pip?


91

Gần đây tôi cần cài đặt một số gói

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

Tôi cũng đã thử bằng writin sudotrước chúng nhưng tất cả đều xuất hiện các lỗi sau ở các dòng màu đỏ:

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
Trừ khi có thực sự là một lỗi được gọi là Red Screen lỗi, không đặt mà như tiêu đề
abccd

4
Tôi nghĩ đó là sự cố mạng, hãy thử ping pypi.python.orgxem nó có hoạt động không. Nó có thể được giải quyết bằng một số việc đơn giản như khởi động lại bộ định tuyến hoặc kết nối lại với Internet của bạn hoặc thậm chí chỉ cần thử lại sau một lúc nào đó. xin vui lòng theo dõi Làm thế nào để hỏi trước khi đăng ở đây.
Krishna Chaitanya Kornepati

Điều này cũng có thể xảy ra nếu nó phải vượt qua proxy. Thực hiện: pip install future --proxy = <your proxy site>
user3885927 27/02/18

Tôi giải quyết nó bằng cách dừng proxy openconnect: | :))
Mojtaba Arvin

Câu trả lời:


175

Yaayy! Tôi đã tìm thấy câu trả lời. Chỉ cần sử dụng tham số --default-timeout = 100 khi cài đặt. ví dụ

sudo pip install --default-timeout=100 future

16
Ngoài ra, tôi đã sử dụng export PIP_DEFAULT_TIMEOUT=100vì tôi có piplệnh trong Dockerfile được chia sẻ và đó là một yêu cầu tạm thời đối với tôi. Nhưng nó hoạt động, cảm ơn!
Kerem

8
Cảm ơn, Nó giúp tôi tiết kiệm trong điều kiện internet chậm. Tôi đoán 100 là số giây pip sẽ đợi kết nối lại sau khi mất kết nối?
LittleZero 17/11/17

1
Tôi có thể thực hiện toàn bộ cài đặt thời gian chờ không?
Timo

1
Tôi không thể tìm thấy cài đặt với pip helphoặc pip install help. Có howerver socket timeout. Tôi tự hỏi giá trị mặc định là gì?
Timo

1
Tôi không thể tìm thấy cài đặt với pip helphoặc pip install help. Có howerver socket timeout. Tôi tự hỏi giá trị mặc định là gì?
Timo

8

sudo pip install --default-timeout = 100 future

Hay cách khác

export PIP_DEFAULT_TIMEOUT = 100 làm việc cho tôi trên mac osx


0

Đây là hai cách để giải quyết vấn đề này.

Phương pháp đầu tiên:

sudo pip install --default-timeout = 100 future

Thứ hai: cài đặt pip --default-timeout = 100 future.

Lưu ý: Nếu bạn không phải là superuser của máy, lệnh sudo pip sẽ không hoạt động. (Nó đã xảy ra với tôi.)


1
Lưu ý rằng bạn không nên sử dụng 'sudo' với pip. Sử dụng cờ '- người dùng' thay thế.
Gặp Sinojia
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.