眾所周知,pip 可以安裝、更新、卸載 Python 的第三方庫(kù),非常方便。你們中的許多人可能已經(jīng)使用 pip 很長(zhǎng)時(shí)間了,但不清楚它有哪些還不錯(cuò)的功能。希望我今天分享的技巧能讓你從 Python pip 中受益。
Python pip
讓我們從 Python 語(yǔ)言開(kāi)始。Python 之所以受歡迎,不僅因?yàn)樗子趯W(xué)習(xí),還因?yàn)樗鼡碛谐汕先f(wàn)的(寶)庫(kù)。
這些庫(kù)相當(dāng)于已經(jīng)集成的工具,只要安裝了就可以在 Python 中使用。它們可以處理各種各樣的問(wèn)題,而無(wú)需你重新造輪子,而且隨著社區(qū)的不斷更新和維護(hù),一些庫(kù)越來(lái)越強(qiáng)大,幾乎可以與企業(yè)級(jí)應(yīng)用程序媲美。
那么如何下載安裝這些工具庫(kù)呢?它們被放置在一個(gè)名為 PyPi(Python 包索引)的統(tǒng)一“倉(cāng)庫(kù)”中,所有庫(kù)安裝都會(huì)來(lái)源于該倉(cāng)庫(kù)。
有了倉(cāng)庫(kù)之后,還需要一個(gè)管理員,pip 就是這樣一個(gè)角色。pip 從 PyPi 中取出庫(kù)并將其安裝到 Python 中。它還可以管理已安裝的庫(kù),如更新、查看、搜索、卸載等。
下面總結(jié)了 10 個(gè)使用 pip 的常識(shí)和技巧,供大家參考。
1.安裝 pip
從 Python 3.4 開(kāi)始,pip 已經(jīng)內(nèi)置在 Python 中,因此無(wú)需再次安裝。
如果你的 Python 版本沒(méi)有 pip,可以使用以下兩種方法安裝它。
-
在命令行輸入
easy_install pip,非常迅速。 -
從以下網(wǎng)址下載
pip安裝文件,然后將其提取到 Python 腳本目錄,并執(zhí)行python setup.py install命令。
pip 的下載地址:https://pypi.org/project/pip/#files
但是,如果您還在使用 Python3.4 及更早版本,請(qǐng)升級(jí)到 Python 的最新穩(wěn)定版本(https://www.python.org/downloads/)。否則,您每天都會(huì)增加更多的技術(shù)債務(wù)。
2.升級(jí) pip
如果 pip 的版本太低,可以升級(jí)當(dāng)前版本:pip install --upgrade pip 或 pip install -U pip。
$pipinstall-Upip
Lookinginindexes:https://pypi.python.org/simple
Requirementalreadysatisfied:pipin./test/lib/python3.8/site-packages(21.1.1)
Collectingpip
Usingcachedpip-22.0.4-py3-none-any.whl(2.1MB)
Installingcollectedpackages:pip
Attemptinguninstall:pip
Foundexistinginstallation:pip21.1.1
Uninstallingpip-21.1.1:
Successfullyuninstalledpip-21.1.1
Successfullyinstalledpip-22.0.4
3.安裝庫(kù)
使用 pip 安裝第三方庫(kù),可以執(zhí)行如下語(yǔ)句:pip install package_name
指定包版本:pip install package_name==1.1.2
比如,我要安裝 3.4.1 版本的 matplotlib:pip install matplotlib==3.4.1
4. 庫(kù)的批量安裝
如果一個(gè)項(xiàng)目需要安裝很多庫(kù),可以批量安裝:pip install -r requirements.txt
文件的內(nèi)容格式如下:
#Thisisacomment
#Specifyadiffrentindex
-ihttp://dist.repoze.org/zope2/2.10/simple
#Packagewithversions
tensorflow==2.3.1
uvicorn==0.12.2
fastapi==0.63.0
pkg1
pkg2
pkg3>=1.0,<=2.0
#Itispossibletorefertospecificlocaldistributionpaths.
./downloads/numpy-1.9.2-cp34-none-win32.whl
#Itispossibletorefertootherrequirementfilesorconstraintsfiles.
-rother-requirements.txt
-cconstraints.txt
#Itispossibletospecifyrequirementsasplainnames.
pytest
pytest-cov
beautifulsoup4
5.卸載和升級(jí)包
已安裝的庫(kù)可以再次卸載:$ pip uninstall package_name
當(dāng)前庫(kù)的版本升級(jí):
$pipinstall--upgradepackage_name
或
$pipinstall-Upackage_name
6. 凍結(jié) Python pip 依賴
有時(shí)您想輸出當(dāng)前環(huán)境中所有已安裝的包,或生成一個(gè)需求文件,然后通過(guò)該文件在另一個(gè)環(huán)境中進(jìn)行安裝。您可以使用 pip freeze 命令:
#Listpackages
$pipfreeze
docutils==0.11
Jinja2==2.7.2
MarkupSafe==0.19
Pygments==1.6
Sphinx==1.2.2
#Generaterequirements.txtfile
$pipfreeze>requirements.txt
請(qǐng)注意,包會(huì)以排序順序列出(不區(qū)分大小寫)。如果您只想列出非全局安裝的軟件包,請(qǐng)使用 -l/--local。
7.查看庫(kù)信息
您可以使用 pip show -f package_name 列出包信息:
$pipshow-fpyyaml
Name:PyYAML
Version:5.4.1
Summary:YAMLparserandemitterforPython
Home-page:https://pyyaml.org/
Author:KirillSimonov
Author-email:xi@resolvent.net
License:MIT
Location:/private/tmp/test/lib/python3.8/site-packages
Requires:
Required-by:awscli
Files:
PyYAML-5.4.1.dist-info/INSTALLER
PyYAML-5.4.1.dist-info/LICENSE
PyYAML-5.4.1.dist-info/METADATA
PyYAML-5.4.1.dist-info/RECORD
PyYAML-5.4.1.dist-info/WHEEL
PyYAML-5.4.1.dist-info/top_level.txt
...
8.查看需要升級(jí)的庫(kù)
在當(dāng)前安裝的庫(kù)中,查看有哪些庫(kù)需要進(jìn)行版本升級(jí):
$piplist-o
PackageVersionLatestType
----------------------------
docutils0.15.20.18.1wheel
PyYAML5.4.16.0wheel
rsa4.7.24.8wheel
setuptools56.0.062.1.0wheel
9. 檢查兼容性問(wèn)題
驗(yàn)證已安裝的庫(kù)的兼容性依賴,你可以使用 pip check package-name:
$pipcheckawscli
Nobrokenrequirementsfound.
如果您不指定包名稱,將檢查所有包的兼容性。
$pipcheck
pyramid1.5.2requiresWebOb,whichisnotinstalled.
10. 將庫(kù)下載到本地
將庫(kù)下載到本地的指定位置并以 whl 格式保存:pip download package_name -d "path"
$pipdownloadPyYAML-d"/tmp/"
Lookinginindexes:https://pypi.python.org/simple
CollectingPyYAML
DownloadingPyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl(192kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━192.2/192.2KB4.7MB/seta000
Saved./PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl
SuccessfullydownloadedPyYAML
$ls/tmp/PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl
/tmp/PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl
原文標(biāo)題:使用 Python Pip 的 10 個(gè)技巧
文章出處:【微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
審核編輯:湯梓紅
-
工具
+關(guān)注
關(guān)注
4文章
317瀏覽量
28870 -
python
+關(guān)注
關(guān)注
57文章
4876瀏覽量
90029
原文標(biāo)題:使用 Python Pip 的 10 個(gè)技巧
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
proteus第三方元器件庫(kù)
如何把第三方庫(kù)加到PROTEUS中?
關(guān)于proteus第三方元件庫(kù)的問(wèn)題
第三方dll調(diào)用問(wèn)題?。?!
python安裝第三方包的八種方法
移動(dòng)應(yīng)用第三方庫(kù)自動(dòng)檢測(cè)和分類
解答索尼電視如何安裝第三方軟件
鴻蒙開(kāi)發(fā)中怎么引入第三方庫(kù)
學(xué)會(huì)安裝第三方開(kāi)源庫(kù)
使用pip安裝、更新和卸載Python的第三方庫(kù)
評(píng)論