一行代碼超簡單解決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= #值可以自己設定,單位是秒
這種方法還是很慢
最後,麻煩大家關注關注我啊。。。。。。
或者關注我的公衆號: