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

最近看到一個 Python 的套件管理工具 PDM，算是滿新的工具 2020 六月才開始的。滿讓我驚艷的地方是，它不是使用了 virtualenv 的方式來做套件管理。基本上用過 Python 的都會知道 virtualenv 是最常用來作隔離開發環境的方式。介紹裡面提到 PDM 是使用了  [PEP582](https://www.python.org/dev/peps/pep-0582/) 的標準來去達到套件管理的

### [PEP582](https://www.python.org/dev/peps/pep-0582/)
簡單介紹就是類似 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


