跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Python poetry怎么用_Poetry依赖管理工具安装与初始化

poetry install 失败通常因缺少 poetry.lock 文件;需先运行 poetry lock 或 poetry add 触发生成,且 poetry.lock 必须提交到 Git;poetry init 仅生成 pyproject.toml,不创建环境或锁文件;开发依赖须用 poetry add --group dev 添加;Windows 上 poetry shell 失败多因 PowerShell 执行策略限制。 poetry install 失败时先看
poetry.lock
是否存在 很多第一次用
poetry
的人卡在
poetry install
报错,根本原因是项目里没有
poetry.lock
文件——它不是手动创建的,而是由
poetry lock
生成的。没运行过
poetry lock
或者删了
poetry.lock
,
poetry install
就会直接失败,报类似
Unable to find lock file
的错误。 实操建议: 立即学习 “ Python免费学习笔记(深入) ”; 新项目初始化后,先执行
poetry add requests
(或任意包),它会自动触发
poetry lock
如果已有
pyproject.toml
但没
poetry.lock
,手动跑一次
poetry lock
再
poetry install
别把
poetry.lock
加进
.gitignore
——它和
package-lock.json
一样,必须提交,否则别人拉代码后环境不一致 poetry init 不等于项目就 ready 了
poetry init
只是交互式生成
pyproject.toml
的骨架,它不会创建虚拟环境,也不安装任何依赖,更不会写入
poetry.lock
。很多人以为按完回车就完事了,结果
poetry run python main.py
直接报
ModuleNotFoundError
。 实操建议: 立即学习 “ Python免费学习笔记(深入) ”;
poetry init
后必须至少加一个依赖,比如
poetry add click
,才能真正激活锁文件和虚拟环境 检查虚拟环境是否就绪:运行
poetry env info
,看到
Path
字段有实际路径才算成功 如果
poetry env info
报
No environment has been created
,说明还没触发环境创建,补一个
poetry add
或
poetry install
即可 poetry add --group dev 和 dev-dependencies 的写法差异 开发依赖不能只靠改
pyproject.toml
手动加字段,那样
poetry.lock
不会更新,
poetry install
也不会装进去。必须用命令明确指定分组,否则
pytest
这类工具可能只在本地有、CI 环境里缺失。 Python 3.14.3 微软官方的 Python 扩展,是 VS Code 安装量最高的扩展(209M+)。集成 IntelliSense(通过 Pylance)、调试(通过 Python Debugger)、代码检查、格式化、重构和单元测试等功能。支持 Jupyter Notebook、虚拟环境管理和多 Python 版本切换。 下载 实操建议: 立即学习 “ Python免费学习笔记(深入) ”; 添加开发依赖:用
poetry add pytest --group dev
(Poetry 1.2+)或旧版的
poetry add pytest -G dev
验证是否生效:查看
pyproject.toml
中是否出现
[tool.poetry.group.dev.dependencies]
区块,且
poetry.lock
里对应包出现在
develop = true
的条目下 安装时区分场景:
poetry install
默认装全部(含 dev),而 CI 中常用
poetry install --without dev
来跳过测试工具 Windows 上 poetry shell 启动失败常见于 PowerShell 执行策略 在 Windows 上运行
poetry shell
报
execution policy
错误,不是 Poetry 本身的问题,而是 PowerShell 默认禁止运行本地脚本。这不是权限问题,也不是杀毒软件拦截,纯粹是系统策略限制。 实操建议: 立即学习 “ Python免费学习笔记(深入) ”; 临时解决:在当前 PowerShell 窗口运行
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
别用
Administrator
权限去改机器级策略,没必要,也容易引发其他工具冲突 替代方案:不用
poetry shell
,改用
poetry run python script.py
,完全绕过 shell 激活环节 虚拟环境路径、Python 版本约束、多源镜像配置这些点,得看具体
pyproject.toml
里
[[tool.poetry.source]]
和
requires-python
怎么写,不是命令一跑就自动适配的。

相关文章