现代的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许可证开源的,有关更多详细信息,请参见许可证文件。