使用 Pip 升級(jí) Python 軟件包
你上次更新通過(guò) Pip 安裝的 Python 軟件包是什么時(shí)候?大多數(shù)用戶往往會(huì)忘記這些 Python 軟件包也需要手動(dòng)更新,因?yàn)閮H僅更新系統(tǒng)存儲(chǔ)庫(kù)對(duì)于軟件包來(lái)說(shuō)是不起作用的。
因此,讓我們花點(diǎn)時(shí)間看看如何使用 Pip,來(lái)更新舊的 Python 軟件包吧。
如何使用 Pip 升級(jí) Python 軟件包
??Pip(Pip Installs Packages)?? 是一個(gè)用于管理 Python 軟件包的 命令行實(shí)用程序command line utility 。你可以將 Pip 安裝 Python 軟件包,類比為在 Ubuntu 和 Debian 中使用 ??apt?
? 管理軟件包那樣。
因此,接下來(lái)就讓我們深入了解如何使用這個(gè)極好的工具 Pip,來(lái)管理與 Python 軟件包相關(guān)的內(nèi)容吧。
1、列出過(guò)時(shí)的 Python 軟件包
在計(jì)劃更新什么軟件包之前,我們先要列出有哪些過(guò)時(shí)的軟件包,你可以在其中選擇想要更新的軟件包,因?yàn)榇蠖鄶?shù)人不會(huì)想一下子更新整個(gè)軟件包庫(kù)。
要列出過(guò)時(shí)的 Python 軟件包,你只需將 ??pip?
? 命令與 ??list?
? 選項(xiàng)、??--outdated?
? 標(biāo)志一同使用即可,如下圖所示:
outdated packages
2、升級(jí)特定的軟件包
獲得可更新的軟件包列表后,你可以像我之前提到的那樣,選擇你要更新的那個(gè)特定的軟件包,pip 升級(jí)軟件包命令的語(yǔ)法如下:
例如,我想將名為 ??anime-api?
? 的軟件包升級(jí)到最新版本,所以我將使用下面的命令來(lái)升級(jí):
update anime api
3、將軟件包升級(jí)到特定的版本
沒(méi)有必要總是使用軟件的最新版本,如果你想將軟件包升級(jí)到不是最新的某個(gè)特定版本,參考如下的命令語(yǔ)法:
例如,我想將名為 ??xdg?
? 的軟件包更新到 5.1 版本,5.1 版本是最新版本的前一個(gè)版本,所以可以使用以下命令:
upgrade xdg to specific iteration
4、使用 Pip 一次性升級(jí)所有軟件包
請(qǐng)注意:我不建議你一次性升級(jí)所以軟件包,因?yàn)?Python 軟件包的依賴項(xiàng)太復(fù)雜了,一次性的升級(jí)無(wú)法處理相互依賴項(xiàng)。
要一次性升級(jí)所有 python 軟件包,你可以使用以下命令:
upgrade everything
上面的命令使用了 ??xargs??。首先,會(huì)得到所有需要更新的軟件包,然后對(duì)每個(gè)軟件包執(zhí)行 ??pip3 install -U?
? 命令。
我在這里使用的是 ??pip3?
?,而不是 ??pip?
?。在 Ubuntu 22.04 及更高的版本中,??pip?
? 和 ??pip3?
? 命令都可以使用。
總結(jié)
使用 Pip 一次性更新所有 Python 軟件包并不是一個(gè)好主意。我發(fā)現(xiàn)一次性更新后,軟件包之間的依賴關(guān)系被破壞了,所以請(qǐng)確保只更新你想要更新的軟件包。