pipx - 管理使用 Python 的 Command-Line 工具

pipx - 管理使用 Python 的 Command-Line 工具

WoodMan

前言

上班時常會需要安裝有的沒的工具,當遇到 Python 的時候就會很頭痛,畢竟每個工具都有不一樣的套件需求。
當環境沒有處理好的時候就會出現 A 工具可用,B 工具卻爛掉的狀況,這時候就可以靠 pipx 解決。

為什麼不直接安裝?什麼是 pipx?為什麼要用它?Python-venv 不好嗎?

首先為什麼不直接安裝呢?
pip 在使用上有些需要注意的地方:

  • 建議安裝套件時要用虛擬環境(Python-venv
  • 永遠不要用 sudo pip install
  • 不要安裝套件到全域環境

因此當你直接安裝 Python CLI 工具的時候就很有可能會觸發到這些問題。

什麼是 pipx?

簡單來說 pipx 是一個用來隔離安裝並執行 Python CLI 工具的工具。

接著為什麼要用他?

pipx 讓你能方便在全域環境中使用這些工具,而不影響其他 Python 專案或工具。

最後 Python-venv 不好嗎?

我自己認為方向不同,Python-venv 比較適合專案開發時使用,pipx 則適合用在命令行工具的環境隔離。
還有一個原因是因為 Python-venv 執行工具有點複雜 (我就懶:DDD

Install

可以直接參考官方文件,這邊就寫出 Ubuntu 系統安裝方法~

1
2
3
4
sudo apt update
sudo apt install pipx
pipx ensurepath
sudo pipx ensurepath --global # optional to allow pipx actions with --global argument

基本使用

安裝你想要的工具

1
pipx install <NAME>

工具安裝完成後就可以像普通指令一樣執行,以下列出一個範例:

1
2
pipx install git+https://github.com/Tib3rius/AutoRecon.git
autorecon --help

列出目前安裝的工具,以及詳細資訊

1
pipx list

執行 pipx install 後的流程

  1. 建立一個虛擬環境
  2. 使用 pip 在這個環境中安裝工具以及相依套件
  3. 將工具的執行檔透過軟連結連結到專用 PATH 中,使你可以直接執行該工具
  4. 將這個虛擬環境與工具綁定並管理

後記

很開心能夠發現 pipx 這個工具,解決了我很多環境上的問題,不然我時常把 Python 工具的環境跟一堆套件搞爛,實在很頭痛。
但我日常開發上還是會使用 Python-venv 建立虛擬環境。
這篇是時隔一段時間的新文章,接下來幾篇大概都會是介紹日常使用的工具。

  • Title: pipx - 管理使用 Python 的 Command-Line 工具
  • Author: WoodMan
  • Created at : 2024-10-09 22:55:46
  • Updated at : 2024-11-27 14:50:30
  • Link: https://blog.lce-lab.dev/2024/10/09/pipx-管理使用Python的Command-Line工具/
  • License: This work is licensed under CC BY-NC-SA 4.0.