Python新一代包管理工具-PDM

2022-06-17 08:23:37 浏览数 (1)

前言

想信很多同学都知道包管理工具,NodenpmJavamavenPythonpip。但是当我们有多个项目的时候,Python 通常会使用虚拟环境来隔离。但是之前的虚拟环境工具个人感觉都不好用,直到我发现了 PDM,用它来管理虚拟环境体验很好。特意推荐给大家。

关于 PDM

PDM 全名 Python Development Master。其基于文件夹,不需要单独创建 virtualenv。它的管理方式和 npm 挺像。

PDM 的特点

  1. 本地包安装程序和运行程序,不涉及 virtualenv
  2. 简单且相对快速的依赖解析程序,主要用于大型二进制发行版。
  3. 后端构建。
  4. 项目元数据。
  5. 灵活而强大的插件系统。
  6. 选择集中安装缓存,如 npm

安装 PDM

代码语言:javascript复制
pip install pdm

呆猫

使用 PDM 初始化项目

使用 PDM 初始化项目很简单,我们只需要创建一个文件夹,然后进入文件夹中执行 pdm init 命令即可完成初始化。

初始化的时候,我们需要选择是否上传项目到 Pypi、开源协议、作者信息、Python 版本要求。

初始化完成后项目中会生成.pdm.tomlpyproject.toml 两个模板文件,而我们主要关注pyproject.toml

给项目添加依赖包

和大多数的包管理工具一样,PDM 也是用 add 指令。

添加 requests 的过程:

添加完成后,和 npm 一样 PDM 也会在配置文件中写入安装的依赖包信息。

查看项目依赖包

对于已有的项目进行初始化

很多时候,我们会拉取别人的项目学习,对于这种项目进行依赖的安装该如何进行呢?npm 是直接使用 npm i 来做的。

为了模拟这种场景,我们手动向配置文件中增加一个 flask 的包依赖。

然后执行 pdm install 即可

不得不说,PDM 体验是真的不错。

项目管理命令

PDM 为我们提供了很多方法让我们来管理项目。

指令

作用

pdm info

查看项目信息

pdm config install.cache on

修改项目配置

pdm export -o requirements.txt

导出依赖

更多内容见:https://pdm.fming.dev/

PDM 快捷指令

npm run 一样,pdm 也支持类似功能。假设我们想要启动 flask 开发服务器,我们将 flask 应用移动到项目根路径,然后使用 pdm run flask run -p 5321 即可。

当然我们也可以在 pyproject.toml 配置 pdm script,这样就可以像 npm 一样去使用不同的指令起启动不同的服务器了。

我们就将上面的 flask 配置为 pdm script

这样配置后,我们就可以使用 startdev 分别在不同的端口启动 flask 服务了。

代码语言:javascript复制
pdm run dev   # 在8001启动dev服务器
pdm run start # 在8000启动生产服务器

总结

pdm 的功能远远不止上面我们介绍的,通过上面的介绍我个人认为 PDM 是目前 Python 包管理中比较易用,好用的一款。而且其学习了 npm 的优秀经验,真正做到了取精去槽。

希望我的分享能够让你对 Python 的包管理和虚拟环境有重新的认识。

0 人点赞