一行代碼超簡單解決pip安裝第三方庫的time out error

概述

推薦閱讀:Python Challenge全解(持續更新中)

安裝第三方庫

安裝第三方庫的方法很多……

一般情況下,我們安裝第三方庫的時候使用命令行解決

pip install ……

……表示需要安裝的庫名稱。

舉例

pip install baidu-aip

結果是這樣:

WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
Collecting baidu-aip
  Downloading baidu-aip-2.2.18.0.tar.gz (10 kB)
Requirement already satisfied: requests in c:\users\sky\appdata\roaming\python\python37\site-packages (from baidu-aip) (2.22.0)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\users\sky\appdata\roaming\python\python37\site-packages (from requests->baidu-aip) (3.0.4)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\users\sky\appdata\roaming\python\python37\site-packages (from requests->baidu-aip) (1.25.3)
Requirement already satisfied: idna<2.9,>=2.5 in c:\users\sky\appdata\roaming\python\python37\site-packages (from requests->baidu-aip) (2.8)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\sky\appdata\roaming\python\python37\site-packages (from requests->baidu-aip) (2019.6.16)
Building wheels for collected packages: baidu-aip
  Building wheel for baidu-aip (setup.py) ... done
  Created wheel for baidu-aip: filename=baidu_aip-2.2.18.0-py3-none-any.whl size=15225 sha256=abe4aa64b3781cc4dda620b48dd7d6dd4c5fbc123c9a598aa0414dffa69d722b
  Stored in directory: c:\users\sky\appdata\local\pip\cache\wheels\2a\6b\27\4509d0c71d5c33a5ec497bd9a8ecbee01023713fa6107066d7
Successfully built baidu-aip
Installing collected packages: baidu-aip
Successfully installed baidu-aip-2.2.18.0

大概分析

Collecting baidu-aip

首先會出現這一行,就是字面意思

Downloading baidu-aip-2.2.18.0.tar.gz (10 kB)

這一行代碼可以看見數據包的大小,如果很小的話就一般不會出現time out的問題。

Requirement already satisfied: requests in c:\users\sky\appdata\roaming\python\python37\site-packages (from baidu-aip) (2.22.0)
……………………

這幾行代碼Requirement already satisfied:表示依賴的庫已經安裝過了,後面有文件路徑。
有些庫在安裝的時候不是單獨的安裝,而是需要安裝一些依賴庫,不過這是自動的

Successfully installed baidu-aip-2.2.18.0

最終看見這一行代碼就是成功了。

time out

有時候文件比較大的時候就會出現read time out的問題,很讓人頭疼。

解決方法

很簡單,從字面意思就能看出來是安裝超時

1、換源

因爲國外的網站訪問不是很穩定,網速一般都不好……

所以我們只需要更換爲國內pip 鏡像源就可以了
這種方法極大的提升了速度

具體操作——臨時使用

格式:

pip install 庫名 -i 鏡像源地址

舉例:

pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple

注意:注意,simple 不能少, 是 https 而不是 http

目前比較靠譜的源

清華: https://pypi.tuna.tsinghua.edu.cn/simple
•		
豆瓣: http://pypi.douban.com/simple/
•		
阿里: http://mirrors.aliyun.com/pypi/simple/
•		
中科大: http://pypi.mirrors.ustc.edu.cn/simple/
………………………………

高級操作——設爲默認(清華)

#升級 pip 到最新的版本 (>=10.0.0) 後進行配置:

pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
#如果您到 pip 默認源的網絡連接較差,臨時使用本鏡像站來升級 pip:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U

2、更改pip安裝默認timeout

pip --default-timeout=600 install ……

……是庫名

--default-timeout=   #值可以自己設定,單位是秒

這種方法還是很慢

最後,麻煩大家關注關注我啊。。。。。。

或者關注我的公衆號:在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章