pipx:在虛擬環(huán)境中運(yùn)行 Python 應(yīng)用
通過使用 pipx 隔離運(yùn)行 Python 應(yīng)用來避免版本沖突并提高安全性。
如果你使用 Python,你可能會(huì)安裝很多 Python 應(yīng)用。有些是你只想嘗試的工具。還有一些是你每天都在使用的久經(jīng)考驗(yàn)的應(yīng)用,所以你把它們安裝在你使用的每一臺計(jì)算機(jī)上。這兩種情況下,在虛擬環(huán)境中運(yùn)行你的 Python 應(yīng)用是非常有用的,這可以使它們以及它們的依賴關(guān)系相互分離,以避免版本沖突,并使它們與你系統(tǒng)的其它部分隔離,以提高安全性。
這就是 pipx 出場的地方。
大多數(shù) Python 應(yīng)用可以使用 pip 進(jìn)行安裝,它只安裝 Python 包。然而,pipx 為你的 Python 應(yīng)用創(chuàng)建并管理一個(gè)虛擬環(huán)境,并幫助你運(yùn)行它們。
安裝 pipx
pipx 主要是一個(gè) RPM 包,你可以在任何 Fedora、RHEL 或 CentOS 機(jī)器上安裝它:
$ sudo dnf install pipx
使用 pipx
我將通過 Cowsay 以及 Concentration 工具演示如何使用 pipx。
安裝軟件包
安裝完 pipx 后,你可以用以下方法安裝 Python 包:
$ pipx install <python_package>
要安裝 Cowsay 包:
$ pipx install cowsay ✔ │ 20:13:41installed package cowsay 4.0, Python 3.9.5These apps are now globally available- cowsaydone! ✨ 🌟 ✨
現(xiàn)在你可以在系統(tǒng)的任何地方運(yùn)行 Cowsay,通過終端與你對話!
$ cowsay "I <3 OSDC"_________| I <3 OSDC |=========\\^__^(oo)\_______(__)\ )\/\||----w ||| ||
Cowsay
以特殊權(quán)限進(jìn)行安裝
不是所有的應(yīng)用都像 Cowsay 一樣簡單。例如,Concentration 會(huì)與你系統(tǒng)中的許多其他組件交互,所以它需要特殊的權(quán)限。用以下方式安裝它:
$ pipx install concentration ✔ │ 10s │ │ 20:26:12installed package concentration 1.1.5, Python 3.9.5These apps are now globally available- concentrationdone! ✨ 🌟 ✨
Concentration 通過阻止 distractors 文件中列出的特定網(wǎng)站來幫助你集中注意力。要做到這點(diǎn),它需要以 sudo 或 root 權(quán)限運(yùn)行。你可以用 OpenDoas 來做到這點(diǎn),這是 doas 命令的一個(gè)版本,可以用特定的用戶權(quán)限運(yùn)行任何命令。要使用 doas 以 sudo 權(quán)限來運(yùn)行 Concentration:
$ doas concentration improve ✔ │ │ 20:26:54doas (sumantrom) password:Concentration is now improved :D!
如你所見,這個(gè)獨(dú)立的應(yīng)用能夠改變系統(tǒng)中的一些東西。
列出已安裝的應(yīng)用
pipx list 命令顯示所有用 pipx 安裝的應(yīng)用和它們的可執(zhí)行路徑:
$ pipx listvenvs are in /home/sumantrom/.local/pipx/venvsapps are exposed on your $PATH at /home/sumantrom/.local/binpackage concentration 1.1.5, Python 3.9.5- concentrationpackage cowsay 4.0, Python 3.9.5- cowsay
卸載應(yīng)用
當(dāng)你使用完畢后,知道如何卸載它們是很重要的。pipx 有一個(gè)非常簡單的卸載命令:
$ pipx uninstall <package name>
或者你可以刪除每個(gè)軟件包:
$ pipx uninstall-allpipx uninstall-all 2 ✘ │ 20:13:35uninstalled cowsay! ✨ 🌟 ✨uninstalled concentration! ✨ 🌟 ✨
嘗試 pipx
pipx 是一個(gè)流行的 Python 應(yīng)用的包管理器。它可以訪問 PyPi 上的所有東西,但它也可以從包含有效 Python 包的本地目錄、Python wheel 或網(wǎng)絡(luò)位置安裝應(yīng)用。
如果你安裝了大量的 Python 應(yīng)用,可以試試 pipx。























