Python 更換pip網(wǎng)絡(luò)源(PyPI鏡像)
Python通過(guò)pip install
安裝模塊(庫(kù)),然而官網(wǎng)的網(wǎng)速一言難盡,安裝小模塊還好說(shuō),大模塊各種紅字錯(cuò)誤,心累。切換到國(guó)內(nèi)Pypi鏡像源可以有效解決網(wǎng)速問(wèn)題。
單次使用
pip install -i 鏡像源網(wǎng)址 要安裝的模塊名
具體舉例,清華源:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple
模塊名
注意:鏡像網(wǎng)址是https不是http
設(shè)為默認(rèn)
下面的命令將鏡像源設(shè)為默認(rèn),以后運(yùn)行pip install都從鏡像源下載
pip config set global.index-url
鏡像源網(wǎng)址
具體舉例,清華源:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
阿里源:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
這個(gè)命令將會(huì)自動(dòng)創(chuàng)建pip.ini文件,Win10系統(tǒng)的位置在:
C:\Users\用戶名\AppData\Roaming\pip
venv虛擬環(huán)境配置
默認(rèn)情況下虛擬環(huán)境的pip繼承系統(tǒng)設(shè)置,如果想單獨(dú)配置venv的pip鏡像源,就在venv目錄里手動(dòng)創(chuàng)建pip.ini文件(跟pyvenv.cfg同一目錄),建議把上面創(chuàng)建的pip.ini復(fù)制到venv目錄再修改。
注意:如果在系統(tǒng)pip.ini中設(shè)置了多個(gè)參數(shù),則在venv中有可能也需要進(jìn)行同等配置,否則沒(méi)有設(shè)置的參數(shù)依然默認(rèn)繼承系統(tǒng)pip.ini
驗(yàn)證pip配置
pip config list
通過(guò)這個(gè)命令可以查看當(dāng)前生效的pip配置。如果是venv,先通過(guò)scripts目錄里的Activate進(jìn)入虛擬環(huán)境,然后執(zhí)行上面的命令即可查看配置是否生效。注意:venv跟系統(tǒng)pip.ini如果內(nèi)容一樣,默認(rèn)調(diào)用的是venv的pip.ini,但看不出來(lái)差別(這么做也沒(méi)啥意義)。
不同鏡像源的網(wǎng)速
我在東北地區(qū)的感覺(jué)是白天清華源比較快,晚上高峰時(shí)段阿里云網(wǎng)速更穩(wěn)定。另外,華為源的鏡像更新速度至少目前還不如清華和阿里。
其它
以前鏡像源一般都是未加密的http協(xié)議,除了需要設(shè)置鏡像源網(wǎng)址外,還需要設(shè)置trusted-host,否則每次安裝都會(huì)有一堆提示。目前國(guó)內(nèi)源幾乎都升級(jí)到https協(xié)議了,就沒(méi)必要設(shè)置trusted-host了。
如果有特殊需求,需要使用http協(xié)議的鏡像源,可以通過(guò)下面的命令配置
pip config set install.trusted-host 鏡像主機(jī)名
比如,下面兩條命令是配置阿里http鏡像
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
pip config set install.trusted-host mirrors.aliyun.com