Pipx通過隔離的環境安裝和運行Python應用
過虛擬環境來安裝Python應用是總是被推薦的,這是為了避免Python應用間產生衝突。Pip包管理器通過使用以及這兩個工具來幫助我們在隔離的環境中安裝Python應用。還有另一個Python.org官方推薦的包管理器Pipenv可以用於安裝Python應用。與Pip不同,Pipenv會默認自動創建虛擬環境。意味著你不再需要手動為你的項目創建虛擬環境。現在,我要介紹一個相似的叫做Pipx的自由開源工具,其允許你以隔離的虛擬環境安裝和運行Python應用。
使用Pipx,我們可以輕鬆地安裝數以千計的PyPI中的應用。而且你可以只以普通用戶的許可權來完成所有的操作。你不需要是"root"用戶或者具有"sudo"許可權。值得注意的是Pipx可以從臨時的環境運行一個程序,而不用安裝該程序。這對於你想測試同一個程序的多個版本的情況是非常重要的。由Pipx安裝的包可以被列出、升級和卸載。Pipx是一個跨平台的應用,可以運行在Linux、Mac OS和Windows上。
安裝Pipx
Python 3.6 、Pip和venu模塊需要被已安裝才能安裝pipx。確保你已經安裝好了它們。
venv是被用來創建虛擬環境。現在可以運行下面的命令來安裝pipx。
python3-mpip install--userpipx
python3-muserpath append ~/.local/bin
pipx的默認二進位文件的位置是。你可以通過環境變數來覆蓋它。如果你覆蓋了,要確保運行時其在你的path上,這可以通過userpath append $PIPX_BIN_DIR來實現。
默認的Pipx的虛擬環境是。這也可以通過環境變數覆寫。
然我們更進一步看看如何使用Pipx安裝Python應用。
安裝Python包
要全局地安裝一個Python應用,比如cowsay,運行:
pipx install cowsay
這個命令會自動地創建虛擬環境,安裝包,並將包的可執行文件放入你的$PATH中。
示例輸出:
installed package cowsay 2.0.3, Python 3.6.8
These binaries are now globally available
- cowsay
done!
現在我們來測試一下新安裝的cowsay程序:
這裡,我從官網選用了幾個例子。你可以安裝和測試其它的Python包。
列出Python包信息
要列出安裝了的應用,運行:
pipx list
示例輸出:
venvs are in /home/sk/.local/pipx/venvs
binaries are exposed on your $PATH at /home/sk/.local/bin
package cowsay 2.0.3, Python 3.6.8
- cowsay
如果你沒有安裝任何包,你將會看到下面的輸出:
nothing has been installed with pipx
升級包
要升級一個包,很簡單:
pipx upgrade cowsay
要一次性升級所有安裝的包,使用:
pipx upgrade-all
從臨時的虛擬環境運行一個應用
有時,你可能想要在不安裝一個Python應用的情況下來運行它。
pipx run pycowsay moooo
這個命令實際上沒有安裝給出的程序,而是從臨時的虛擬環境運行了它。你可以使用這個命令來迅速測試Python應用。
你甚至可以直接運行.py文件。
$ pipx run https://gist.githubusercontent.com/cs01/fa721a17a326e551ede048c5088f9e0f/raw/6bdfbb6e9c1132b1c38fdd2f195d4a24c540c324/pipx-demo.py
pipx is working!
卸載包
一個包可以通過以下命令卸載:
pipx uninstall cowsay
要移除所有的安裝的包,可以通過:
pipx uninstall-all
獲取幫助
要查看幫助模塊,運行:
pipx --help
好了,這就是所有內容了。如果你曾想要尋找一個安全、便捷和可依賴的應用來安裝和運行Python應用,Pipx很可能是一個好的選擇。
本文譯自:Pipx – Install And Run Python Applications In Isolated Environment
翻譯:OpenView
校對:開源視界
原文地址:https://www.ostechnix.com/pipx-install-and-run-python-applications-in-isolated-environments/
歡迎大家關注小編~
※Linux中使用snap和flatpak來安裝和管理應用程序
※Linux下製作系統的U盤啟動盤
TAG:開放視野 |