現代的Python軟件包和依賴經理,支持最新的PEP標準。 中文版本說明
PDM旨在成為下一代Python軟件包管理工具。它最初是供個人使用的。如果您覺得自己喜歡Pipenv
或Poetry
並且不想介紹另一個軟件包經理,那就堅持下去。但是,如果您缺少這些工具中不存在的東西,則可能會在pdm
中找到一些好處。
簡單而快速的依賴性解析器,主要用於大型二進制分佈。
PEP 517構建後端。
PEP 621項目元數據。
靈活而強大的插件系統。
多功能用戶腳本。
使用Indygreg的Python-Build-Standalone安裝Python。
選擇集中式安裝緩存,例如PNPM。
Pipenv是顧名思義,將pip
和venv
結合在一起,依賴於PIP和VENV。它可以從非標準的Pipfile.lock
或Pipfile
安裝軟件包。但是,PipEnv不處理與包裝代碼相關的任何軟件包,因此它僅對開發非安裝應用程序(例如Django站點)有用。如果您是圖書館開發人員,則無論如何都需要setuptools
。
詩歌以與PipEnv類似的方式管理環境和依賴關係,但它也可以用您的代碼構建.WHL文件,並且可以將車輪和源分佈上傳到PYPI。它具有漂亮的用戶界面,用戶可以通過插件對其進行自定義。詩歌使用pyproject.toml
標準,但不遵循標準,指定在pyproject.toml文件(PEP 621)中應如何表示元數據,而是使用自定義[tool.poetry]
表。這部分是因為詩歌在PEP 621之前出現。
艙口還可以管理環境,每個項目允許多個環境。默認情況下,它在所有環境中都有一個中心位置,但可以配置為將項目的環境放在項目根目錄中。它可以管理軟件包,但沒有Lockfile支持。它也可以用來包裝一個項目(帶有PEP 621符合Pyproject.toml文件)並將其上傳到PYPI。
PDM可以在項目和集中位置中管理虛擬環境(VENV),類似於Pipenv。它從標準化的pyproject.toml
文件讀取項目元數據並支持LockFiles。用戶可以通過插件添加其他功能,可以通過將其上傳作為分佈來共享。
與詩歌和孵化程度不同,PDM不僅限於特定的後端。用戶可以自由選擇他們喜歡的任何構建後端。
PDM需要Python版本3.8或更高版本。
像PIP一樣,PDM提供了一個安裝腳本,該腳本將將PDM安裝到孤立的環境中。
對於Linux/Mac
curl -ssl https://pdm-project.org/install-pdm.py | python3-
對於Windows
PowerShell -ExecutionPolicy旁路-C“ IRM https://pdm-project.org/install-pdm.py | py--”
出於安全原因,您應該驗證install-pdm.py
的校驗和。它可以從install-pdm.py.sha256下載。
安裝程序將將PDM安裝到用戶站點,位置取決於系統:
$HOME/.local/bin
$HOME/Library/Python/<version>/bin
%APPDATA%PythonScripts
在Windows上
您可以將其他選項傳遞給腳本以控制PDM的安裝方式:
usage: install-pdm.py [-h] [-v VERSION] [--prerelease] [--remove] [-p PATH] [-d DEP] optional arguments: -h, --help show this help message and exit -v VERSION, --version VERSION | envvar: PDM_VERSION Specify the version to be installed, or HEAD to install from the main branch --prerelease | envvar: PDM_PRERELEASE Allow prereleases to be installed --remove | envvar: PDM_REMOVE Remove the PDM installation -p PATH, --path PATH | envvar: PDM_HOME Specify the location to install PDM -d DEP, --dep DEP | envvar: PDM_DEPS Specify additional dependencies, can be given multiple times
您可以在腳本之後傳遞選項,也可以設置env var值。
如果您在MacOS上並使用homebrew
,請通過以下方式安裝:
釀造安裝PDM
如果您在Windows上並使用SCOOP,請通過:
scoop bucket add frostming https://github.com/frostming/scoop-frostming.git scoop install pdm
否則,建議使用pipx
在孤立的環境中安裝pdm
:
PIPX安裝PDM
或者,您可以在用戶站點下安裝它:
PIP安裝 - 用戶PDM
使用ASDF-VM
ASDF插件添加PDM ASDF安裝PDM最新
初始化一個新的PDM項目
pdm init
回答指南之後的問題,以及帶有pyproject.toml
的PDM項目。
安裝依賴項
PDM添加請求燒瓶
您可以在同一命令中添加多個依賴項。一段時間後,檢查pdm.lock
文件以查看每個軟件包鎖定的內容。
告訴別人您在項目中使用PDM,通過在readme.md中包含“降價代碼”:
[
很棒的PDM是精選的PDM插件和資源的精選列表。
這個項目的強烈啟發受到詩意和詩歌的啟發。
該項目是根據MIT許可證開源的,有關更多詳細信息,請參見許可證文件。