Skip to main content

一個現代化的 Python 套件管理工具 PDM - Python Development Master

Published Markdown
Part of seriesSoftware development
一個現代化的 Python 套件管理工具 PDM - Python Development Master

最近看到一個 Python 的套件管理工具 PDM,算是滿新的工具 2020 六月才開始的。滿讓我驚艷的地方是,它不是使用了 virtualenv 的方式來做套件管理。基本上用過 Python 的都會知道 virtualenv 是最常用來作隔離開發環境的方式。介紹裡面提到 PDM 是使用了 PEP582 的標準來去達到套件管理的

PEP582

簡單介紹就是類似 npm 一樣在每個專案內將套件都儲存在一個叫 __pypackages__ 的資料夾,然後在執行 Python 的時候優先才這個資料夾去找尋套件,而不是從 User 層級或 global 層級去找。

需要特別注意的是 PEP582 還是在草案階段,所以是個很新很新的標準。自己需要斟酌使用。如果想玩玩看是也可以,官方也有提供了一個 docker image 來去使用。對於 VSCode 和 PyCharm 也有提供套件的設定方式。

Reference

  • https://pdm.fming.dev/
  • https://github.com/pdm-project/pdm/
  • https://www.python.org/dev/peps/pep-0582/#specification

About the author

  • I am not a programmer just a leaner. Writing JavaScript, Python, and Go and doing something on Kubernetes.

LLeon4y ago

我有用 PDM,比較大的困擾是 VSCode 的 debug 無法使用,最後只好用 pdb。

VSCode 那邊說因為 PEP582 還是草案,所以不打算支援。

1

先讓我哭一下 😭 難得看到也有在用 Hashnode 的人 我覺得 VSCode 這樣是合理啦,畢竟還在草案,是真的有點新 我自己也還是使用 Pipenv 和 Poetry 比較多

LLeon4y ago

還有還有,VSCode 內建的 Jupyter 整合也不能用,找不到 PDM 裝的套件,只能自己執行 Jupyter 開瀏覽器用。

More from this blog