PDM 简介#
PDM 为现代 Python 软件包管理工具。它以类似于 npm
的方式安装和管理软件包,完全不需要创建虚拟环境!它是一个非常好的解决方案。
特性
安装 PDM#
PDM 需要安装 Python 3.7+。它可以在多个平台上工作,包括 Windows、Linux 和 MacOS。
备注
对于你的项目使用的 Python 版本没有限制,但安装 PDM 本身推荐使用 Python 3.7 以上。
建议的安装方法#
PDM 要求 python 3.7 或更高版本。
和 Pip 一样,PDM 提供了安装脚本,将 PDM 安装到隔离的环境中。
curl -sSL https://raw.githubusercontent.com/pdm-project/pdm/main/install-pdm.py | python3 -
(Invoke-WebRequest -Uri https://raw.githubusercontent.com/pdm-project/pdm/main/install-pdm.py -UseBasicParsing).Content | python -
安装程序将把 PDM 安装到用户站点,位置取决于系统:
Unix:
$HOME/.local/bin
Windows:
%APPDATA%\Python\Scripts
其他安装方式:
brew install pdm
scoop bucket add frostming https://github.com/frostming/scoop-frostming.git
scoop install pdm
pipx install pdm
pip install --user pdm
支持 Unicode 和 ANSI:PDM 在 ANSI 字符和 unicode emojis 的帮助下提供了一个花哨的终端 UI。它可以自动打开/关闭,取决于你的终端是否支持它。然而,如果你看到任何乱码的字符,设置 env var DISABLE_UNICODE_OUTPUT=1
来关闭它。
更新 PDM 版本#
pdm self update
PDM Shell 自动补全#
PDM 支持为 Bash、Zsh、Fish 或 Powershell 生成完成脚本。下面是每个 shell 的一些常用位置。
pdm completion bash > /etc/bash_completion.d/pdm.bash-completion
# Create a directory to store completion scripts
mkdir $PROFILE\..\Completions
echo @'
Get-ChildItem "$PROFILE\..\Completions\" | ForEach-Object {
. $_.FullName
}
'@ | Out-File -Append -Encoding utf8 $PROFILE
# Generate script
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
pdm completion powershell | Out-File -Encoding utf8 $PROFILE\..\Completions\pdm_completion.ps1
# Make sure ~/.zfunc is added to fpath, before compinit.
pdm completion zsh > ~/.zfunc/_pdm
pdm completion fish > ~/.config/fish/completions/pdm.fish
快速上手#
初始化新的 PDM 项目
pdm init
按照指引回答提示的问题,PDM 项目和对应的 pyproject.toml
文件就创建好了。
添加依赖
pdm add requests flask
你可以在同一条命令中添加多个依赖。稍等片刻完成之后,你可以查看 pdm.lock
文件看看有哪些依赖以及对应版本。
PDM 生态#
Awesome PDM 是精心策划的 PDM 插件和资源的列表。