PDM:支持最新 PEP 标准的现代 Python 包和依赖项管理器

liftword3个月前 (02-26)技术文章22

pip安装三方依赖的时候,默认安装在"C:\Users\\AppData\Local\Programs\Python\Python312\Lib\site-packages\findpython"。

在项目中,通常会通过添加一个requirements.txt来管理依赖项,这很麻烦。有没有类似JS的NPM或者JAVA的MAVEN呢?今天它来了,而且是全中文文档,来自香港的同胞!

功能亮点

  • 简单快速的依赖解析器,主要用于大型二进制发行版。
  • 根据 PEP 517 规范构建后端。
  • 根据 PEP 621 规范解析项目元数据。
  • 灵活而强大的插件系统。
  • 多功能用户脚本。
  • 使用 indygreg's python-build-standalone进行安装其他版本的 Python。
  • 选择加入集中式安装缓存,参考 pnpm

新建项目

pdm init

使用该命令后,会生成一个项目结构,而且会有一个依赖管理文件,会随着命令自动变化。

选择python解释器

pdm use

添加依赖

pdm add requests   # 添加 requests
pdm add requests==2.25.1   # 添加带有版本约束的 requests
pdm add requests[socks]   # 添加带有额外依赖项的 requests
pdm add "flask>=1.0" flask-sqlalchemy   # 添加多个具有不同规范的依赖项

更新依赖

// 要更新锁文件中的所有依赖项:
pdm update

// 要更新指定的软件包:
pdm update requests

// 要更新多个依赖项组:
pdm update -G security -G http

// 或使用逗号分隔的列表:
pdm update -G "security,http"

// 要在指定组中更新给定的软件包:
pdm update -G security cryptography

删除依赖

# 从默认依赖项中删除 requests
pdm remove requests

# 从可选依赖项的 'web' 组中删除 h11
pdm remove -G web h11

# 从开发依赖项的 `test` 组中删除 pytest-cov
pdm remove -dG test pytest-cov

总结

用PDM管理依赖项还是很爽的,纯中文文档,也方便学习,目前在持续更新中。

相关文章

UV 包管理器:更智能、更高效的 Python 依赖管理 —与 Poetry 对比解析

在 Python 开发过程中,依赖管理始终是一项关键而棘手的任务。随着项目规模和复杂度的不断提升,如何高效、可靠地管理各种第三方库,成为了每位开发者亟待解决的难题。虽然社区中已有诸如 pip、vir...