原來我一直安裝 Python 庫的姿勢都不對呀
平常我都是直接執行 pip install 安裝的第三方庫,很多教程也是這麼介紹的,一直以來我都認為這是標準的、正確的安裝 Python 第三方庫的姿勢。直到我最近看到Python核心開發者Brett Cannon 寫的一篇文章。
簡單總結來說,他認為其實最正確的安裝方式是使用 python-m pip
來執行 pip 命令,無論什麼情況下均是如此。
他在文章裡大致提出了以下幾個建議:
- 建議用 python-m pip 安裝三方庫
- 務必使用虛擬環境,不要安裝至系統 Python
- 建議用 pipx 獨立安裝工具
- 建議用 python-m venv 建立虛擬環境
- 可以將容器整體作為一個環境,跳過虛擬環境
我簡單解釋下每個建議背後的理由。
1. 建議用 python-m pip 安裝三方庫
理由是這樣做,可以實現更加準確地控制庫所安裝的位置。
不少人的電腦裡,會同時安裝不同版本的 Python。少數極端的使用者甚至會安裝不同的小版本,如 3.7 和 3.7.4。這是直接用 pip的話,你自己可能都不清楚最終安裝到了哪個版本的Python 下面。
而 python-m pip
命令,可以讓你直接指定要安裝到哪個版本。
2. 務必使用虛擬環境,不要安裝至系統 Python
這個建議應該很多人都認同,在實踐中也是這樣執行的。如果不用虛擬環境隔離的話,系統版本的三方庫會變得特別的龐雜,甚至出現系統依賴庫的版本不合理,導致系統崩潰的嚴重問題。
3. 建議用 pipx 獨立安裝工具
如果你想嘗試 black、mypy 等開發工具,可以考慮通過 pipx 將這些工具各自安裝到獨立的環境中,同時又能夠直接在系統環境下呼叫終端的入口。
4. 建議用 python-m venv 建立虛擬環境
Brett 個人更傾向於使用 python-m venv 命令建立虛擬環境,理由和第一點建議相同,可以獲得更大的控制權,精確指定所使用的版本。
當然,使用 virutalenv 也是一個非常普遍的方式。
5. 可以將容器整體作為一個環境,跳過虛擬環境
如果專案是容器化開發的,那麼把每個容器當做成一個個獨立的虛擬環境使用也是沒有問題的。在容器裡沒有必要再單獨去建立虛擬環境了。
當然前提是,你不要安裝到系統自帶的 Python 中。
總結
以上所述是小編給大家介紹的安裝python庫的正確姿勢,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!