2017-04-08 31 views
12

我最近需要通過以創作sudo之前安裝一些軟件包如何解決ReadTimeoutError:HTTPSConnectionPool(主機='pypi.python.org',端口= 443)與點?

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

我也試過,但都將其與下面的錯誤中紅色線條上來:

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' 
+1

除非確實有一個叫紅屏錯誤的錯誤,不要把作爲標題 – abccd

+2

我認爲這是網絡問題,嘗試'平pypi.python.org'看看它是否工作。 它可以通過重新啓動路由器或重新連接到互聯網,甚至在某個時間後再次嘗試等簡單的事情來解決。請在發佈之前按照[如何提問](https://stackoverflow.com/help/how-to-ask)進行操作。 –

+0

這也可能發生,如果它必須通過代理。做:pip install future --proxy = <你的代理站點> – user3885927

回答

24

Yaayy! 我找到了答案。 只需在安裝時使用--default-timeout = 100參數。 e.g

sudo pip install --default-timeout=100 future 
+0

或者,我使用'export PIP_DEFAULT_TIMEOUT = 100',因爲我在共享的Dockerfile中有'pip'命令,這對我來說是一個臨時需求。但它的作品,謝謝! – mass

+1

謝謝,它可以節省我在緩慢的互聯網條件。我猜100是等待連接失敗後重新連接的秒數? – LittleZero