想信很多同学都知道包管理工具,Node
的 npm
、Java
的 maven
、Python
的 pip
。但是当我们有多个项目的时候,Python
通常会使用虚拟环境来隔离。但是之前的虚拟环境工具个人感觉都不好用,直到我发现了 PDM,用它来管理虚拟环境体验很好。特意推荐给大家。
PDM
全名 Python Development Master
。其基于文件夹,不需要单独创建 virtualenv
。它的管理方式和 npm
挺像。
virtualenv
。npm
。pip install pdm
使用 PDM
初始化项目很简单,我们只需要创建一个文件夹,然后进入文件夹中执行 pdm init
命令即可完成初始化。
初始化的时候,我们需要选择是否上传项目到 Pypi
、开源协议、作者信息、Python
版本要求。
初始化完成后项目中会生成.pdm.toml
、pyproject.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/
和 npm run
一样,pdm
也支持类似功能。假设我们想要启动 flask
开发服务器,我们将 flask
应用移动到项目根路径,然后使用 pdm run flask run -p 5321
即可。
当然我们也可以在 pyproject.toml
配置 pdm script
,这样就可以像 npm
一样去使用不同的指令起启动不同的服务器了。
我们就将上面的 flask
配置为 pdm script
。
这样配置后,我们就可以使用 start
和 dev
分别在不同的端口启动 flask
服务了。
pdm run dev # 在8001启动dev服务器
pdm run start # 在8000启动生产服务器
pdm
的功能远远不止上面我们介绍的,通过上面的介绍我个人认为 PDM
是目前 Python
包管理中比较易用,好用的一款。而且其学习了 npm
的优秀经验,真正做到了取精去槽。
希望我的分享能够让你对 Python
的包管理和虚拟环境有重新的认识。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有