如何給pip更換國(guó)內(nèi)源并配置Python的國(guó)內(nèi)鏡像詳解
前言
經(jīng)常搞 Python 開(kāi)發(fā)的小伙伴們可能會(huì)遇到一個(gè)常見(jiàn)問(wèn)題:使用 pip 安裝第三方庫(kù)速度太慢,甚至有時(shí)候還會(huì)超時(shí),原因多半是因?yàn)槲覀兡J(rèn)的 pip
源服務(wù)器在國(guó)外。為解決這類困擾,可以切換到國(guó)內(nèi)的鏡像源,享受更快的下載速度。今天這篇博客就來(lái)聊聊如何快速配置 pip
的國(guó)內(nèi)源。
溫馨提示:如果你是 Python 新手,可以先通過(guò)
python --version
、pip --version
等命令確認(rèn)好自己的 Python 和 pip 版本再進(jìn)行操作。
1. 為什么要切換國(guó)內(nèi)源?
- 下載速度更快:默認(rèn)
pip
是從 Python 官方源(pypi.org)下載,網(wǎng)絡(luò)狀況不穩(wěn)定,常常會(huì)出現(xiàn)下載速度慢或失敗的情況。 - 穩(wěn)定性更高:國(guó)內(nèi)鏡像一般都在國(guó)內(nèi)服務(wù)器,連接更穩(wěn)定,出錯(cuò)率也更低。
- 節(jié)省時(shí)間:加快依賴庫(kù)的安裝速度,在一定程度上能提高開(kāi)發(fā)效率。
2. 常見(jiàn)的國(guó)內(nèi)鏡像源地址
這里列出幾家常用的國(guó)內(nèi)鏡像源,大家可以根據(jù)自己的需要進(jìn)行選擇。
- 清華大學(xué) TUNA:
https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云:
https://mirrors.aliyun.com/pypi/simple/
- 豆瓣(douban):
https://pypi.douban.com/simple/
- 中國(guó)科學(xué)技術(shù)大學(xué)(USTC):
https://pypi.mirrors.ustc.edu.cn/simple/
3. 臨時(shí)使用國(guó)內(nèi)源
如果僅是臨時(shí)切換某一次安裝,那么使用命令行中的 -i
參數(shù)就可以了。比如你打算從清華源安裝 requests
庫(kù),可以這樣做:
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
這條命令僅在這一次安裝時(shí)生效,后續(xù)安裝依舊會(huì)恢復(fù)默認(rèn)的官方源。
4. 永久修改 pip 源
為了每次都能自動(dòng)使用國(guó)內(nèi)鏡像,我們需要進(jìn)行全局配置或用戶級(jí)配置。步驟相對(duì)簡(jiǎn)單,以下展示三大系統(tǒng)的常用配置方式。
4.1 Windows 系統(tǒng)
創(chuàng)建配置文件Windows 下默認(rèn)的
pip
配置文件是pip.ini
或者pip.conf
(不同pip
版本可能稍有差異)。- 通常建議放在:如果沒(méi)有
C:\Users\<你的用戶名>\AppData\Roaming\pip\pip.ini
pip
文件夾,可以手動(dòng)創(chuàng)建。
- 通常建議放在:
寫入鏡像地址打開(kāi)或者新建
pip.ini
,寫入以下內(nèi)容:[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple trusted-host = pypi.tuna.tsinghua.edu.cn
這里的
trusted-host
是為了避免某些版本下會(huì)提示證書不被信任的問(wèn)題。驗(yàn)證是否生效你可以在命令行里輸入:
pip config list
或者直接安裝一個(gè)庫(kù)試試看:
pip install flask
看看輸出的
Looking in indexes
是否變成了你配置的國(guó)內(nèi)源。
4.2 macOS / Linux 系統(tǒng)
在類 Unix 系統(tǒng)上(包括 macOS 和大多數(shù) Linux 發(fā)行版),pip
的配置文件默認(rèn)放置路徑通常為 ~/.config/pip/pip.conf
或者 ~/.pip/pip.conf
。
找到或新建配置文件
# 進(jìn)入 .config 文件夾 cd ~/.config # 如果沒(méi)有 pip 目錄就創(chuàng)建一個(gè) mkdir -p pip # 進(jìn)入 pip 目錄 cd pip # 用你喜歡的編輯器來(lái)編輯 pip.conf,比如 nano、vi 或者其他 nano pip.conf
寫入國(guó)內(nèi)鏡像地址和 Windows 下類似,內(nèi)容格式相同:
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple trusted-host = pypi.tuna.tsinghua.edu.cn
保存并測(cè)試保存文件后,直接測(cè)試:
pip install flask
是否有
Looking in indexes
的提示。如果是你配置的國(guó)內(nèi)源,說(shuō)明生效成功。
5. 使用多個(gè)鏡像源
有時(shí)候,我們可能會(huì)想要指定多個(gè)鏡像源來(lái)防止某一個(gè)源出現(xiàn)故障。pip
并不支持直接合并多個(gè) index-url
,但是你可以配合 --extra-index-url
的參數(shù)來(lái)使用額外的索引。例如,在命令行臨時(shí)使用:
pip install <庫(kù)名> --index-url https://pypi.tuna.tsinghua.edu.cn/simple --extra-index-url https://mirrors.aliyun.com/pypi/simple
這樣當(dāng)清華源上沒(méi)有找到對(duì)應(yīng)包時(shí),會(huì)去阿里云再嘗試一次。
6. 常見(jiàn)問(wèn)題與小技巧
pip 版本過(guò)舊
- 如果你的 pip 版本太老,可能不支持某些新特性,建議先升級(jí):
pip install --upgrade pip
- 如果你的 pip 版本太老,可能不支持某些新特性,建議先升級(jí):
證書驗(yàn)證不通過(guò)
- 可以加上
trusted-host
,或者將其寫到配置文件中去。 - 如果實(shí)在不行,可以在命令行里加
--trusted-host pypi.tuna.tsinghua.edu.cn
之類的。
- 可以加上
多環(huán)境沖突
- 有時(shí)候你可能有多個(gè) Python 版本,或者用了 Anaconda、Miniconda。需要對(duì)每個(gè)環(huán)境的
pip
進(jìn)行分別配置,或者使用環(huán)境專屬的pip.conf
。 - 也可以在虛擬環(huán)境中使用臨時(shí)指定源的方式安裝,不會(huì)影響全局。
- 有時(shí)候你可能有多個(gè) Python 版本,或者用了 Anaconda、Miniconda。需要對(duì)每個(gè)環(huán)境的
Linux 系統(tǒng)權(quán)限問(wèn)題
- 有時(shí)全局安裝需要
sudo
,但也會(huì)導(dǎo)致一些權(quán)限問(wèn)題。建議使用--user
或者虛擬環(huán)境(如venv
)進(jìn)行安裝,以免跟系統(tǒng)包沖突。
- 有時(shí)全局安裝需要
以上就是關(guān)于如何更換 pip 國(guó)內(nèi)源的簡(jiǎn)單教程??偨Y(jié)一下,最關(guān)鍵的就是找到配置文件路徑,然后把 [global]
下的 index-url
改成國(guó)內(nèi)鏡像地址,就能享受更快更穩(wěn)定的下載速度啦。如果你是 Python 重度使用者,建議長(zhǎng)期配置國(guó)內(nèi)源,既節(jié)省時(shí)間又不用每次手動(dòng)敲命令。
總結(jié)
到此這篇關(guān)于如何給pip更換國(guó)內(nèi)源并配置Python的國(guó)內(nèi)鏡像的文章就介紹到這了,更多相關(guān)pip更換國(guó)內(nèi)源并配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解centos7+django+python3+mysql+阿里云部署項(xiàng)目全流程
這篇文章主要介紹了詳解centos7+django+python3+mysql+阿里云部署項(xiàng)目全流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Python實(shí)現(xiàn)批量將PPT轉(zhuǎn)換成長(zhǎng)圖
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)批量將PPT轉(zhuǎn)換成長(zhǎng)圖,并且圖片名稱與PPT文件名稱相同,保存位置相同,感興趣的小伙伴可以了解下2023-08-08Python+Opencv實(shí)現(xiàn)把圖片、視頻互轉(zhuǎn)的示例
這篇文章主要介紹了Python+Opencv實(shí)現(xiàn)把圖片、視頻互轉(zhuǎn)的示例,幫助大家更好的理解和實(shí)用python,感興趣的朋友可以了解下2020-12-12解決TensorFlow訓(xùn)練模型及保存數(shù)量限制的問(wèn)題
這篇文章主要介紹了解決TensorFlow訓(xùn)練模型及保存數(shù)量限制的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03Python實(shí)現(xiàn)簡(jiǎn)單多線程任務(wù)隊(duì)列
本文給大家介紹的是使用很簡(jiǎn)單的代碼實(shí)現(xiàn)的多線程任務(wù)隊(duì)列,給大家一個(gè)思路,希望對(duì)大家學(xué)習(xí)python能夠有所幫助2016-02-02python實(shí)現(xiàn)人臉簽到系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)人臉簽到系統(tǒng),帶數(shù)據(jù)庫(kù)存儲(chǔ),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04