ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

用 5 条命令跑通 PDM 包管理器

用 5 条命令跑通 PDM 包管理器 用 5 条命令跑通 PDM 包管理器【免费下载链接】pdmA modern Python package and dependency manager supporting the latest PEP standards项目地址: https://gitcode.com/GitHub_Trending/pd/pdm在新机器上克隆同事的 Python 项目pip install -r requirements.txt跑完后行为却和本地不一样——没有锁定版本大家装的一模一样就只是口号。PDM 是一个遵循最新 PEP 标准的 Python 包管理器把声明依赖、解析版本、装进隔离虚拟环境这几件事收进同一套命令里并顺手生成锁文件保证每台机器装出的版本真的一致。下面只走一条线装好 PDM → 建项目 → 加上第一个依赖 → 看懂锁文件。先把 PDM 装进终端 官方推荐用安装脚本装独立二进制脚本会检查你机器上的 Python需要 3.10 或更高curl -sSL https://pdm-project.org/install.sh | bash它做什么下载官方脚本并执行把pdm可执行文件装进 PATH。装完跑一下pdm --version确认版本输出。Windows 在 PowerShell 里执行 README 给出的irm ... | iex命令即可见 README 的 Installation 一节。后面所有操作都基于pdm这一个命令不用关心它底层是 pip 还是虚拟环境。从零建一个能跑的项目pdm new按模板生成标准项目骨架会问几个问题包名、描述、Python 版本要求然后生成pyproject.toml。这个文件是 PEP 621 标准的项目元数据以后依赖声明、构建配置都写在它里面一个文件管完pdm new my-project cd my-project已有项目则进到项目根目录跑pdm init它会生成pyproject.toml并支持从 requirements.txt、Pipfile、Poetry 等格式导入依赖见 新建项目指南。然后加第一个依赖。pdm add一条命令干三件事把requests写进pyproject.toml的依赖区、把它的全部子依赖解析出来写入新建的pdm.lock、再安装到项目虚拟环境默认在项目根的.venv里pdm add requests想锁版本就写pdm add requests2.25开发用的依赖加-d会单独归入 dev 组pdm install默认把两组都装上。看懂 pdm.lock为什么它该进版本库两个文件分工不同pyproject.toml记你想要什么比如 requests 的版本范围pdm.lock记解析结果每个包的具体版本、文件哈希、下载来源。区别类似购物清单和购物小票。同事拉下代码跑pdm installPDM 严格按pdm.lock安装环境才真正一致。应用类项目建议把pdm.lock提交进版本库库项目可以不提交让 CI 按最新版本解析。取舍讲得很清楚见 锁文件文档。配套的高频命令是查看当前装了谁pdm list --graph它打印已安装包的依赖树。想知道某个包是被谁拉进来的先跑它。换 Python 版本不折腾系统环境PDM 把项目用的解释器路径记在根目录的.pdm-python文件里安装和运行都认它。切换就一条命令pdm use 3.11机器上没有这个版本时可以直接让 PDM 装pdm python install 3.11.4用pdm python list查看它管理的解释器。项目默认环境放在.venv需要并行多套环境时用pdm venv create建带名字的额外环境细节见 虚拟环境文档。这套机制解决一个老问题两个项目要求不同 Python 版本时传统 pipvenv 要手动建环境、手动激活而 PDM 按当前目录自动切换解释器进目录即用。下一步去哪依赖管理add/remove/update 的完整语法含 extras、git 依赖、本地路径依赖怎么写。锁文件每条命令分别会动 pyproject.toml、pdm.lock 还是已安装包一张表格讲清楚。虚拟环境环境位置、复用已有 conda 环境、后端选择等进阶配置。【免费下载链接】pdmA modern Python package and dependency manager supporting the latest PEP standards项目地址: https://gitcode.com/GitHub_Trending/pd/pdm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表