Python项目管理神器 PDM,用它管理项目爽到飞起!

683 阅读2分钟

1747119815194.jpg

Python 的世界里,从 pip 到 venv,从 requirements.txt 到 poetry、pipenv,项目依赖管理和环境隔离的选择五花八门。但今天要介绍的,是一款集轻量、现代、PEP 582 支持于一体的新锐工具——PDM

PDM 是什么?为什么它值得一试?

PDM,全称 Python Development Master,是一个现代化的 Python 包管理工具。它采用了 PEP 582 标准,可以不用虚拟环境,也能实现依赖隔离,和传统的 venvvirtualenv 说再见。

它的核心优势包括:

  • 使用标准的 PEP 621 声明项目元数据(告别 setup.py)
  • 完全支持 PEP 582,自动维护本地 .venv
  • 更快的安装速度和简洁的依赖管理
  • 内置脚本系统,自动化开发流程非常顺手

如何安装 PDM?

安装方式非常简单,推荐使用 pip 安装:

pip install pdm

安装成功后可以用 pdm --version 检查是否生效。

创建和管理项目的基本流程

  1. 初始化项目:
pdm init

按照提示一步步选择cpython版本,输入项目名称、描述、作者、依赖等内容,PDM 会自动生成 pyproject.toml

  1. 安装依赖:
pdm add requests

pip install 命令不同,PDM 会把依赖和元数据写入 pyproject.toml,更规范。此时在 pyproject.toml文件的中会新增一条依赖,例如:

dependencies = ["requests>=2.32.3"]
  1. 运行项目:
pdm run

PDM 会自动从 .pdm-python 中读取依赖,无需激活虚拟环境!

  1. 管理开发依赖:
# 开发环境新增pytest依赖
pdm add --dev pytest
# 安装生产环境的依赖
pdm install --prod

开发依赖和生产依赖分开管理,干净利落。

支持脚本和插件,一键执行开发流程!

PDM 支持在 pyproject.toml 里定义脚本,比如:

[tool.pdm.scripts]
start = "python main.py"
test = "pytest tests/"

之后就可以直接运行:

pdm run start
pdm run test

是不是有点像 npm 的 scripts?非常适合团队协作或 CI 自动化!

适用于哪些人?

  • 不想折腾虚拟环境的人
  • 想用更现代工具管理 Python 项目的开发者
  • poetrypipenv 不满意的人群
  • 渴望自动化脚本流的中高级用户

总结

PDM 是一个站在多个 PEP 标准之上的现代化工具,简洁、强大、好用。如果你还在为项目依赖混乱头疼,不妨试试 PDM,让你的开发体验从此升级!