Python知識(shí)分享網(wǎng) - 專業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
Python Pip使用全攻略與最佳實(shí)踐
匿名網(wǎng)友發(fā)布于:2023-07-21 14:48:28
(侵權(quán)舉報(bào))

Python Pip使用全攻略與最佳實(shí)踐  圖1

 

 

1. 引言

在現(xiàn)代的軟件開發(fā)實(shí)踐中,依賴管理成為了一項(xiàng)非常重要的任務(wù)。它確保了我們可以在任何地方重建我們的開發(fā)環(huán)境,也使得我們能夠輕松地跟蹤和更新我們的項(xiàng)目所依賴的庫(kù)。Python是世界上最受歡迎的編程語(yǔ)言之一,有著豐富的庫(kù)和框架,這都得益于Python強(qiáng)大的包管理工具Pip。

 

Python的包管理器的重要性

Python的包管理器允許開發(fā)者下載、安裝、更新和管理Python包。這些包可以是第三方庫(kù),如numpy和tensorflow,也可以是你自己開發(fā)的模塊或包。包管理器簡(jiǎn)化了獲取和管理這些資源的過(guò)程,使得開發(fā)者可以更加專注于開發(fā)工作。

例如,我們可以使用pip來(lái)安裝一個(gè)流行的Python庫(kù)numpy:

 

pip install numpy

 

此命令執(zhí)行后,Pip會(huì)從Python Package Index (PyPI)下載numpy庫(kù),并在當(dāng)前環(huán)境中安裝。如果已經(jīng)安裝了numpy,Pip還可以用于升級(jí)numpy到最新版本:

 

pip install --upgrade numpy

 

為什么需要了解和使用Pip

理解并熟練使用Pip對(duì)于任何Python開發(fā)者來(lái)說(shuō)都非常重要。Python社區(qū)已經(jīng)開發(fā)了大量的有用的庫(kù)和框架,開發(fā)者通過(guò)Pip可以方便的下載和使用這些庫(kù)和框架。此外,使用Pip可以幫助開發(fā)者更好的管理他們的項(xiàng)目依賴,從而更有效地構(gòu)建和維護(hù)他們的應(yīng)用。

 

2. Pip的基本概念

為了深入理解和有效使用Pip,我們需要首先了解一些基本的概念。

 

什么是Pip

Pip是Python的包管理器,它允許你安裝和管理額外的庫(kù)和依賴,這些庫(kù)和依賴未包含在Python標(biāo)準(zhǔn)庫(kù)中。Pip是遞歸的縮寫,其全名是“Pip Installs Packages”或者“Pip Installs Python”。除了Python外,Pip還可以用于其他一些Python的變體,例如PyPy。

Pip的主要功能如下:

.安裝Python包

.卸載Python包

.升級(jí)Python包

.查看已安裝的Python包

例如,你可以使用下面的命令來(lái)安裝requests庫(kù):

 

pip install requests

 

當(dāng)你運(yùn)行此命令后,Pip將從Python Package Index (PyPI)下載并安裝requests庫(kù)。

 

Pip的歷史和發(fā)展

Pip最初于2008年發(fā)布,目的是提供一個(gè)用于安裝和管理Python包的統(tǒng)一接口。在Pip之前,Python社區(qū)的開發(fā)者使用各種不同的工具和方法來(lái)管理包,這導(dǎo)致了大量的混亂和重復(fù)工作。

Pip現(xiàn)在已經(jīng)成為Python生態(tài)系統(tǒng)中最重要的工具之一。幾乎所有的現(xiàn)代Python項(xiàng)目都依賴Pip來(lái)管理它們的庫(kù)和依賴。此外,許多重要的Python工具,如virtualenv和pipenv,都是基于Pip構(gòu)建的。

 

Pip與其他Python包管理工具的比較

雖然Pip是最常用的Python包管理器,但它并不是唯一的選擇。例如,conda也是一個(gè)非常流行的Python包管理器,尤其在數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)的領(lǐng)域。與Pip相比,conda可以更好地管理包版本和環(huán)境,但它的使用并不像Pip那么普遍。

下面的命令展示了conda如何安裝numpy庫(kù):

 

conda install numpy

 

無(wú)論選擇哪個(gè)包管理器,重要的是理解它的優(yōu)點(diǎn)和限制,以及如何根據(jù)你的需求來(lái)選擇和使用合適的工具。

 

3. Pip的安裝和配置

盡管大多數(shù)現(xiàn)代Python發(fā)行版都已預(yù)裝了Pip,但在某些情況下,你可能需要手動(dòng)安裝。這一部分將指導(dǎo)你如何在不同操作系統(tǒng)上安裝和配置Pip。

 

在不同操作系統(tǒng)上安裝Pip的方法

在Windows上安裝Pip

如果你正在使用Python3.4或更高版本,那么Pip應(yīng)該已經(jīng)預(yù)裝在你的Python環(huán)境中。你可以通過(guò)下面的命令來(lái)驗(yàn)證Pip是否已經(jīng)安裝:

 

python -m pip --version

 

如果Pip未安裝,你可以通過(guò)下面的命令來(lái)安裝Pip:

 

python get-pip.py

 

  • 在Linux上安裝Pip

在大多數(shù)Linux發(fā)行版中,你可以使用包管理器來(lái)安裝Pip。例如,在Ubuntu中,你可以使用下面的命令來(lái)安裝Pip:

 

sudo apt-get install python3-pip

 

在CentOS中,你可以使用下面的命令來(lái)安裝Pip:

 

sudo yum install python3-pip

 

  • 在macOS上安裝Pip

在macOS中,你可以使用Homebrew來(lái)安裝Pip:

 

brew install python3

 

這個(gè)命令將會(huì)安裝Python3以及Pip。

 

Pip版本的檢查和升級(jí)

你可以使用下面的命令來(lái)檢查Pip的版本:

 

pip --version

 

如果你需要升級(jí)Pip,你可以使用下面的命令:

 

# On Linux or macOS
pip install --upgrade pip

# On Windows
python -m pip install --upgrade pip

 

Pip的基礎(chǔ)配置

Pip的行為可以通過(guò)命令行選項(xiàng),環(huán)境變量,以及配置文件進(jìn)行調(diào)整。最常用的配置是更改包的安裝源,例如,你可以通過(guò)下面的命令指定使用清華大學(xué)的PyPI鏡像源:

 

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

 

此外,你也可以通過(guò)配置文件來(lái)永久更改Pip的默認(rèn)源,具體方法將在后面的章節(jié)中詳細(xì)介紹。

以下是“中國(guó)國(guó)內(nèi)多個(gè)鏡像源及使用方法”部分及其子單元的內(nèi)容:

 

4. 國(guó)內(nèi)多個(gè)鏡像源及使用方法

由于網(wǎng)絡(luò)原因,國(guó)內(nèi)用戶在從Python官方PyPI庫(kù)下載包時(shí)可能會(huì)遇到速度慢或連接失敗的問(wèn)題。幸運(yùn)的是,我們有多個(gè)國(guó)內(nèi)的鏡像源可以使用,從而顯著提高下載速度和成功率。下面我們會(huì)列出一些常用的鏡像源,并展示如何使用它們。

 

常用的國(guó)內(nèi)鏡像源

阿里云:https://mirrors.aliyun.com/pypi/simple/

中國(guó)科技大學(xué):https://pypi.mirrors.ustc.edu.cn/simple/

豆瓣(douban):https://pypi.douban.com/simple/

清華大學(xué):https://pypi.tuna.tsinghua.edu.cn/simple/

華中科技大學(xué):http://pypi.hustunique.com/

 

使用鏡像源的方法

使用鏡像源的方法非常簡(jiǎn)單。在使用pip install命令時(shí),添加-i選項(xiàng) followed by the URL of the mirror source. 例如,下面的命令展示了如何使用清華大學(xué)的鏡像源來(lái)安裝numpy庫(kù):

 

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

 

永久設(shè)置鏡像源

如果你希望永久使用某個(gè)鏡像源,你可以通過(guò)修改Pip的配置文件來(lái)實(shí)現(xiàn)。配置文件的位置取決于你的操作系統(tǒng):

On Unix and macOS the configuration file is: $HOME/.pip/pip.conf

On Windows the configuration file is: %HOME%\pip\pip.ini

在配置文件中,你可以添加如下內(nèi)容來(lái)永久設(shè)置使用清華大學(xué)的鏡像源:

 

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

 

在設(shè)置好鏡像源后,你就可以像平時(shí)一樣使用pip install命令了,Pip將自動(dòng)從你設(shè)置的鏡像源下載包。

 

5. 使用Pip進(jìn)行包管理

Pip提供了一系列的命令,使得包管理變得十分方便。這部分將會(huì)詳細(xì)介紹這些命令的使用方法。

 

安裝包

你可以使用pip install命令來(lái)安裝包。例如,下面的命令展示了如何安裝numpy庫(kù):

 

pip install numpy

 

你也可以指定要安裝的包的版本。例如,下面的命令展示了如何安裝numpy 1.18.5版本:

 

pip install numpy==1.18.5

 

卸載包

你可以使用pip uninstall命令來(lái)卸載包。例如,下面的命令展示了如何卸載numpy庫(kù):

 

pip uninstall numpy

 

查看已安裝的包

你可以使用pip list命令來(lái)查看已安裝的包及其版本。例如,下面的命令展示了如何查看已安裝的所有包:

 

pip list

 

你也可以使用pip show命令來(lái)查看特定包的詳細(xì)信息。例如,下面的命令展示了如何查看numpy庫(kù)的詳細(xì)信息:

 

pip show numpy

 

升級(jí)包

你可以使用pip install --upgrade命令來(lái)升級(jí)包。例如,下面的命令展示了如何升級(jí)numpy庫(kù):

 

pip install --upgrade numpy

 

安裝特定環(huán)境的包

Pip還支持創(chuàng)建虛擬環(huán)境,然后在這個(gè)虛擬環(huán)境中安裝和管理包。這個(gè)功能非常有用,因?yàn)樗梢员苊獍鸵蕾嚨陌姹緵_突。例如,你可以使用下面的命令來(lái)創(chuàng)建一個(gè)名為myenv的虛擬環(huán)境,并在這個(gè)環(huán)境中安裝numpy庫(kù):

 

python3 -m venv myenv
source myenv/bin/activate
pip install numpy

 

通過(guò)這種方式,你可以為每個(gè)項(xiàng)目創(chuàng)建一個(gè)單獨(dú)的虛擬環(huán)境,然后在這個(gè)環(huán)境中安裝和管理包,從而避免版本沖突的問(wèn)題。

 

6. Pip和虛擬環(huán)境

虛擬環(huán)境可以幫助我們?cè)诓煌捻?xiàng)目間隔離Python環(huán)境,避免因?yàn)榘鸵蕾嚨陌姹静灰恢露鴮?dǎo)致的問(wèn)題。這部分將會(huì)介紹如何使用Pip和venv來(lái)創(chuàng)建和管理虛擬環(huán)境。

 

創(chuàng)建虛擬環(huán)境

你可以使用venv模塊來(lái)創(chuàng)建虛擬環(huán)境。例如,下面的命令展示了如何創(chuàng)建一個(gè)名為myenv的虛擬環(huán)境:

 

python3 -m venv myenv

 

這個(gè)命令將會(huì)在當(dāng)前目錄下創(chuàng)建一個(gè)名為myenv的文件夾,這個(gè)文件夾包含了一個(gè)獨(dú)立的Python環(huán)境。

 

激活虛擬環(huán)境

創(chuàng)建虛擬環(huán)境后,你需要激活這個(gè)環(huán)境以在這個(gè)環(huán)境中安裝和使用包。在Unix和macOS中,你可以使用下面的命令來(lái)激活虛擬環(huán)境:

 

source myenv/bin/activate

 

在Windows中,你可以使用下面的命令來(lái)激活虛擬環(huán)境:

 

myenv\Scripts\activate

 

在虛擬環(huán)境中使用Pip

激活虛擬環(huán)境后,你就可以像平常一樣使用Pip來(lái)安裝和管理包。這些包將只在當(dāng)前的虛擬環(huán)境中可用。例如,下面的命令展示了如何在虛擬環(huán)境中安裝numpy庫(kù):

 

pip install numpy

 

退出虛擬環(huán)境

當(dāng)你完成了在虛擬環(huán)境中的工作后,你可以使用deactivate命令來(lái)退出虛擬環(huán)境:

 

deactivate

 

這個(gè)命令將會(huì)讓你回到系統(tǒng)的Python環(huán)境。

 

刪除虛擬環(huán)境

如果你不再需要一個(gè)虛擬環(huán)境,你可以簡(jiǎn)單地刪除虛擬環(huán)境的文件夾來(lái)移除這個(gè)環(huán)境:

 

rm -rf myenv

 

7. Pip的高級(jí)用法

除了常規(guī)的安裝、卸載和升級(jí)包等操作,Pip還提供了一些高級(jí)的用法,如安裝特定版本的包、安裝預(yù)發(fā)布版的包、安裝輪子文件等。這部分將會(huì)介紹這些高級(jí)用法。

 

安裝特定版本的包

前面我們提到過(guò),可以使用pip install <package>==<version>命令來(lái)安裝特定版本的包。你也可以使用>=<=、>、<!=操作符來(lái)指定要安裝的包的版本。例如,下面的命令展示了如何安裝numpy庫(kù)的版本大于1.18.5的版本:

 

pip install numpy>=1.18.5

 

安裝預(yù)發(fā)布版的包

默認(rèn)情況下,Pip只會(huì)安裝正式發(fā)布的包。但有時(shí),你可能想要安裝預(yù)發(fā)布版的包,比如為了測(cè)試新的功能。你可以使用--pre選項(xiàng)來(lái)安裝預(yù)發(fā)布版的包。例如,下面的命令展示了如何安裝numpy庫(kù)的預(yù)發(fā)布版:

 

pip install --pre numpy

 

安裝輪子文件

輪子文件是一種預(yù)編譯的包分發(fā)格式,它可以更快地安裝包。你可以使用pip install命令來(lái)安裝輪子文件。例如,下面的命令展示了如何安裝一個(gè)名為numpy-1.21.2-cp39-cp39-win_amd64.whl的輪子文件:

 

pip install numpy-1.21.2-cp39-cp39-win_amd64.whl

 

從GitHub倉(cāng)庫(kù)安裝包

除了從PyPI庫(kù)安裝包,你也可以直接從GitHub倉(cāng)庫(kù)安裝包。你只需要提供倉(cāng)庫(kù)的URL。例如,下面的命令展示了如何從GitHub倉(cāng)庫(kù)安裝numpy庫(kù):

 

pip install git+https://github.com/numpy/numpy.git

 

8. Pip的問(wèn)題解決

盡管Pip是一個(gè)非常強(qiáng)大和靈活的工具,但在使用過(guò)程中你可能會(huì)遇到一些問(wèn)題。這部分將會(huì)介紹一些常見的問(wèn)題以及它們的解決方法。

 

包安裝失敗

有時(shí),你可能會(huì)遇到包安裝失敗的問(wèn)題。這可能是由于多種原因造成的,如網(wǎng)絡(luò)問(wèn)題、依賴問(wèn)題、兼容性問(wèn)題等。通常,你可以通過(guò)檢查錯(cuò)誤消息來(lái)找出問(wèn)題的原因。例如,如果錯(cuò)誤消息提示某個(gè)依賴包找不到,那么你可能需要先安裝那個(gè)依賴包。

 

pip install missing-package

 

包沖突

有時(shí),你可能會(huì)遇到包沖突的問(wèn)題,這通常是因?yàn)椴煌陌蕾嚵瞬煌姹镜耐粋€(gè)包。你可以使用pip check命令來(lái)檢查包沖突。如果存在沖突,你可能需要升級(jí)或降級(jí)一些包以解決沖突。

 

pip check

 

包卸載失敗

有時(shí),你可能會(huì)遇到包卸載失敗的問(wèn)題。這可能是因?yàn)榘诒皇褂?,或者你沒有權(quán)限卸載包。你可以嘗試使用pip uninstall -y <package>命令來(lái)強(qiáng)制卸載包。

 

pip uninstall -y problematic-package

 

包版本過(guò)舊

有時(shí),你可能會(huì)遇到包版本過(guò)舊的問(wèn)題。這通常是因?yàn)槟愕腜ip版本過(guò)舊,不能安裝新版本的包。你可以使用pip install --upgrade pip命令來(lái)升級(jí)Pip。

 

pip install --upgrade pip

 

 

 

 

轉(zhuǎn)載自:https://www.cnblogs.com/xfuture/p/17568048.html