Python By Mark

Python 虛擬環境管理:Venv vs. Conda vs. Poetry

依賴地獄的救贖

在開發不同專案時,套件版本衝突是常見的惡夢。

  • Venv:Python 內建模組 (python -m venv .venv)。優點是輕量、原生支援;缺點是功能陽春,無法管理非 Python 的 Binary 依賴 (如 GDAL)。適合單純的 Web 開發。
  • Conda:資料科學家的首選。它不僅管理 Python 套件,還能管理系統級的 Library (如 CUDA, GCC)。如果你在做 AI 或量化分析,Conda 是最穩定的選擇。
  • Poetry:現代化的依賴管理工具。它使用 pyproject.toml 取代 requirements.txt,並自動處理依賴解析 (Dependency Resolution) 與發布流程。對於要打包上傳 PyPI 的專案,Poetry 是目前最佳實踐。

建議:一般後端開發轉向 Poetry,數據分析留守 Conda。