pip安裝報錯處理+PyPi源切換教程


一、pip安裝出錯類型

1.1 pip版本過舊導致不能安裝

報錯提示:

You are using pip version 9.0.3, however version 10.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' comm
and.

可通過以下命令升級pip

python -m pip install --upgrade pip

 

1.2 官方的PyPi連接超時

如果是timeout類形錯誤,那重點懷疑網絡問題,可能是官方的PyPi太慢導致。

這類錯誤可通過在pip.ini中index-url指定為使用本地源進行處理。我這里以清華源為例,具體操作步驟看下邊第三大點。

 

1.3 HTTPS證書問題

現在很多網站都換成了HTTPS,python驗證證書沒通過時就會拒絕使用PyPi源,通常報錯如下:

Could not fetch URL https://pypi.tuna.tsinghua.edu.cn/simple/gg/: There was a
problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.tuna.tsin
ghua.edu.cn', port=443): Max retries exceeded with url: /simple/numpy/ (Caused by S
SLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
 (_ssl.c:726)'),)) - skipping

這類錯誤可通過在pip.ini中添加trusted-host進行處理。我這里以信任清華源為例,具體操作步驟看下邊第二大點。

 

1.4 缺少VC環境依賴

這類錯誤處理,一是安裝vc環境不過到現在我還不是很明白要裝哪個文件,更推薦的做法是使用conda安裝第三方庫,具體操作參見“PyCharm+Miniconda3安裝配置教程” 第二大點查看如何安裝conda及參看3.2.2節看如何用conda安裝第三方庫

通常報錯如下:

“distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 is required”

“Command "python setup.py egg_info" failed with error code 1 in C:\Users\ADMINI~1\AppData\Local\Temp\pip-install-6fjrrgj5\cffi\”

20191212更新:

既然說缺少Microsoft Visual C++ 14.0 Build Tools那我們直接給他裝上。(需要生成工具的原因,猜測是有些python庫並不是單純的python文件,還有c語言寫的需要編譯成exe等可執行文件)

visual studio installer下載地址:https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=16#

build tool下載地址:https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16&rr=https%3A%2F%2Fwww.scivision.dev%2Fpython-windows-visual-c-14-required%2F

兩個本質上是一樣的,而我們要裝的都是一個,即”Microsoft Visual C++ 14.0 Build Tools“(VS中文名翻譯成生成工具)。

不管是vs 2015還是vs 2017還vs 2019,用的都是14.x版本只是小版本不一樣,我們裝最新的即可,比如我這里直接裝VS2019的。

由於VS無敵的大,為了避免C盤耗費過多建議修改安裝地址。可以只勾選安裝生成工具,但我這為了方便裝了VS能用於編寫C++就不取消色選其他組件了。但不管怎么樣VS核心編緝器都是必須安裝的,大概是微軟為了避免有些小白想裝VS最終裝了一堆組件編緝器卻沒見到。

 

二、查看當前軟件源等配置

2.1 查看當前使用的軟件源

可以使用以下命令查看當前使用的是哪個軟件源。(注意install和search使用的軟件源是不一樣的,后邊第三大節我們修改index-url也只對install起作用。至於為什么要不一樣這種設計,暫時沒搞懂。)

pip install --help
pip search --help

 

2.2 查看所有自定義配置

可以使用以下命令查看當前的配置,加上-v參數可以查看當前加載了哪些配置文件。

pip config list
pip config list -v

 

三、將PyPi切換為本地源

注意,這個創建的pip.ini文件配置對conda等發行版中的pip也生效,因為conda等中的pip本質也是pip。

3.1 臨時切換軟件源

臨時使用軟件源,不管是install還是search都可以通過-i參數進行指定,如:

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

 

3.2 永久切換軟件源(並處理證書錯誤)

3.2.1 查看%APPDATA%路徑【可選】

echo %APPDATA%

 

3.2.2 創建 %APPDATA%\pip\目錄

我這里直接在cmd使用命令創建。圖形界面創的話,上一步我們已查到%APPDATA%的指向了一層層根着創即可

mkdir %APPDATA%\pip

 

3.2.3 創建pip.ini文件

使用文件編輯器創建一個文本,然后輸入以下內容,並將其保存到上邊的%APPDATA%\pip\目錄下,命名為pip.ini即可(注意不要保存成了pip.ini.txt)

Linux等是$HOME/.config/pip/pip.conf,index-url行可不需要

[global]
trusted-host = pypi.tuna.tsinghua.edu.cn
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

 

3.2.4 驗證源成功切換且無報錯

我這里以pip安裝faker庫進行驗證,自己隨便裝什么都行

pip install faker

 

四、配置代理【可選】

應該來講在把源設置成國內源后應該來講,網絡網速什么的就應該都沒問題了,也就沒有配置代理的需求。

但在一些公司訪問中不允許pip直接訪問外部網站,一定要通過公司代理才能訪問,這時就只能配置代理。

配置代理也簡單,一樣在%APPDATA%\pip\pip.ini的[global]節區中設置proxy值即可。假設代理為“http://proxy.company.com:8080”:

[global]
trusted-host = pypi.tuna.tsinghua.edu.cn
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
proxy = http://proxy.company.com:8080

 

參考:

https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

http://mirrors.ustc.edu.cn/help/pypi.html

https://superuser.com/questions/727924/pip-and-ssl-certificate-errors

https://stackoverflow.com/questions/9698557/how-to-use-pip-on-windows-behind-an-authenticating-proxy


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM