iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
0
Software Development

用舒服的姿勢開發 Python Project系列 第 7

[用舒服的姿勢開發 Python Project] Day 07 - pipx 是什麼?為什麼需要它?

為什麼要使用 pipx

在上一篇文章中有提到,pip 有幾點使用時需要注意的地方,其中有包含 「安裝套件時一定要使用虛擬環境」、「永遠不要使用 sudo pip install」、「不要將套件安裝至全域」,針對這三點,非常合理的照做就會是自己創建一個獨立的虛擬環境,並且 activate 該虛擬環境或直接使用虛擬環境 bin/ 中的指令來安裝自己想要的工具,最後再將該安裝完成的執行檔加入到 PATH 環境變數中。舉例來說,想要安裝一個 commandline 使用的 pipenv 工具並不會直接使用 pip3 install pipenv 來進行安裝,而是輸入下列的指令:

mkdir -p ~/.local/bin ~/.local/venvs
python3 -m venv ~/.local/venvs/pipenv
~/.local/venvs/pipenv/bin/pip install pipenv
ln -s ~/.local/venvs/pipenv/bin/pip ~/.local/bin

(擷取自:這樣的開發環境沒問題嗎? — TP@PyConTW’18)

而 Flask 的作者大大 Armin Ronacher 也製作了 pipsi(現已不維護) 來將上面所進行的工具打包起來提供使用者更好的使用體驗,受此影響 pipx 也跟著被 Chad Smith 大大創造出來,並且包含了相似於 npx 的功能,讓使用者可以安裝使用該套件並隨後刪除。

這讓 pipx 有著以下的主要特色:

  • 基於 pip 同樣也有 listupgradeuninstall 套件的功能。
  • 可以在安裝套件時為每個套件建出一個分離的環境,並可以在不啟動虛擬環境的情況下直接使用。
  • 在暫時的虛擬環境中執行最新版的套件功能。
  • 另外,所有指令都不會需要 root 權限,一切都在使用者權限下進行。

完美解決了上述提到的所以要注意的地方。

團隊成員系列文

前端工程師一起來種一棵後端技能樹吧!

想盡辦法當好一個Junior Backend Developer


上一篇
[用舒服的姿勢開發 Python Project] Day 06 - pip 的注意事項與現況
系列文
用舒服的姿勢開發 Python Project7

尚未有邦友留言

立即登入留言