在 Linux 中安裝和使用 pipx
pip
是一種流行的工具,用于從 Python 包索引 中安裝 Python 包和模塊。
然而,在最近的發行版本中,pip
用戶遇到了 外部管理環境錯誤。
error: externally-managed-environment
這是為避免通過 pip 安裝的 Python 包與本機包管理器之間發生沖突而添加的“功能”。Python 希望你使用單獨的虛擬環境,而不是通過 pip
在全局安裝包。
這就是 pipx
發揮作用的地方。它為你安裝的每個應用創建一個新的虛擬環境,然后在全局級別的 /bin
中創建到本地二進制文件的鏈接。這一切都是自動的。它為你節省時間和精力。
讓我們看看如何在 Ubuntu 和其他 Linux 發行版上安裝和使用 pipx
。
在 Ubuntu 和其他 Linux 上安裝 pipx
安裝很簡單,可以在 Ubuntu 和 Debian 上使用以下命令安裝:
sudo apt update && sudo apt install pipx
對于其他發行版,請使用你的包管理器并安裝它。
完成安裝后,將其添加到 $PATH 以便可以從任何地方訪問它:
pipx ensurepath
install pipx in ubuntu
關閉終端并重新啟動它。這就完成了! 現在,讓我們看看如何使用它。
使用 pipx
包管理器的主要用途是什么? 軟件包安裝、更新和刪除。
讓我向你展示如何使用 pipx
執行以下操作:
- 搜索包
- 包安裝
- 升級
- 包移除
讓我們從安裝開始。
如何使用 pipx 安裝包
要使用 pipx
安裝包,你必須遵循一個簡單的命令語法:
pipx install <package_name>
例如,在這里,我安裝了一個非常有用的程序 Cowsay:
pipx install cowsay
install python packages in isolation using pipx in ubuntu
同樣,如果你想安裝特定版本的包,你必須在 ==
后跟上版本號,如下所示:
pipx install package==version
例如,在這里,我安裝了 1.24.1 版本的 numpy:
pipx install numpy==1.24.1
如何搜索包
pipx
程序沒有搜索功能(因為 PyPI 的 API 使用限制)但這并不意味著你不能搜索 Python 包。
要搜索包,你需要安裝 pypisearch
:
pipx install pypisearch
完成后,你可以使用 pypisearch
命令搜索包:
pypisearch python_package_name
在這里,我搜索了 neofetch:
search python packages in Ubuntu
如何使用 pipx 升級包
與任何其他現代包管理器一樣,你可以一次升級所有包,也可以一次升級一個包。
要一次升級所有軟件包,你只需執行以下命令:
pipx upgrade-all
upgrade all the python packages at once in ubuntu
如你所見,它將 numpy 升級到最新版本。
但是如果你想升級一個特定的包,你可以這樣做:
pipx upgrade package-name
假設我想將 cowsay
包升級到最新版本,那么,我將使用以下命令:
pipx upgrade cowsay
upgrade specific python package using pipx in ubuntu
如何使用 pipx 卸載包
要刪除包,你必須使用 uninstall
標志,如下所示:
pipx uninstall package_name
為了供你參考,在這里,我從我的系統中刪除了 numpy
:
pipx uninstall numpy
remove python packages using pipx in ubuntu
pip 還是 pipx?
對 pip
的限制影響了最終用戶對它的使用。值得慶幸的是,pipx
提供了急需的替代方案。它符合使用虛擬環境的 Python 準則,同時允許已安裝的應用在全局范圍內可用。
對于不是 Python 應用開發的最終用戶,這提供了使用發行版倉庫中不可用的 Python 應用的選項。
希望本教程對你有所幫助。如果你有任何問題或建議,請告訴我。