简介#
如前所述,PDM 是一个支持最新 PEP 标准的现代 Python 包和依赖项管理器。但它不仅仅是一个包管理器。它可以在各个方面提升您的开发工作流程。
功能亮点#
- 简单快速的依赖解析器,主要用于大型二进制发行版。
- 根据 PEP 517 规范构建后端。
- 根据 PEP 621 规范解析项目元数据。
- 灵活而强大的插件系统。
- 多功能用户脚本。
- 使用 indygreg's python-build-standalone进行安装其他版本的 Python。
- 选择加入集中式安装缓存,参考 pnpm。
安装#
PDM 需要安装 Python 3.9+。它适用于多个平台,包括 Windows、Linux 和 macOS。
Note
你仍然可以让你的项目在较低的 Python 版本上工作,请阅读如何做到这一点 点击这里。
推荐安装方式#
PDM 需要 python 版本 3.9 或更高版本。
与 Pip 一样,PDM 提供了一个安装脚本,用于将 PDM 安装到隔离环境中。
1 |
|
1 |
|
Note
在 Windows 上,如果您没有安装可选的 py
启动器(包括通过 Microsoft 商店安装 Python),请将 py
替换为 python
。
出于安全原因,您应验证 install-pdm.py
文件的校验和。
您可以从 install-pdm.py.sha256 下载该文件。
例如,在 Linux/Mac 上:
1 2 3 4 |
|
安装程序会将 PDM 安装到用户家目录中,位置取决于系统:
$HOME/.local/bin
Unix 系统$HOME/Library/Python/<version>/bin
MacOS 系统%APPDATA%\Python\Scripts
Windows 系统
您可以将其他参数传递给脚本来控制 PDM 的安装方式:
1 2 3 4 5 6 7 8 9 10 |
|
您可以在运行的安装脚本命令的后面传递选项,也可以设置环境变量 env var 值。
其他安装方式#
1 |
|
1 2 |
|
1 |
|
1 |
|
安装 GitHub 存储库的最新版本。 安装前确保您已在系统上安装了 Git LFS。
1 |
|
要安装具有所有功能的 PDM:
1 |
|
要想了解 pipx 另请参阅: https://pypa.github.io/pipx/
1 |
|
假设您已经安装了 asdf。
1 2 3 |
|
通过将 Pyprojectx 包装器脚本复制到一个项目中,您可以将 PDM 安装为该项目中的(npm 样式)开发依赖项。这允许不同的项目/分支使用不同的 PDM 版本。
要 初始化一个新的或现有的项目 , cd 到项目文件夹中,然后执行对应系统的脚本:
1 2 |
|
1 2 |
|
使用此方法安装 pdm 时, 需要通过 pw
包装器运行所有 pdm
命令:
1 |
|
更新 PDM 版本#
1 |
|
卸载#
如果您需要从您的系统中卸载 PDM,您可以执行下面的脚本:
1 |
|
1 |
|
如果您使用第三方包管理器,比如 Homebrew 安装了 PDM,您也可以用包管理器的卸载方法卸载 PDM,比如 brew uninstall pdm
。
各系统构建版本情况#
Shell 命令补全#
PDM 支持为 Bash、Zsh、Fish 或 Powershell 生成补全脚本。以下是每个 shell 的一些常见的储存位置:
1 2 |
|
1 2 |
|
Oh-My-Zsh:
1 2 |
|
然后确保在 ~/.zshrc 中启用了 pdm 插件
1 |
|
1 2 3 4 5 6 7 8 9 10 |
|
Virtualenv 和 PEP 582#
除了 virtualenv 管理之外,PDM 还提供对 PEP 582 的实验性支持作为选择加入功能。 尽管 Python 指导委员会拒绝了 PEP 582,但您仍然可以使用 PDM 对其进行测试。
要了解有关这两种模式的更多信息, 请参阅有关使用 Working with virtualenv 和 Working with PEP 582 使用 PEP 582 的相关章节。
PDM 生态系统#
Awesome PDM 是精选的 PDM 插件和资源列表。