Poetry安装bagpy后自动安装pytest未写入pyproject.toml的疑问
问题解答
1. pyproject.toml的作用
它是Python项目的核心配置文件,相当于项目的「总说明书」:
- 存储项目基础元信息:比如名称、版本、作者等
- 声明项目运行必需的生产依赖,以及开发阶段专用依赖(如测试、代码格式化工具)
- 定义项目构建规则:告诉Poetry、Setuptools这类工具如何打包、发布你的项目
Poetry完全依赖这个文件管理依赖,只有写在这里的依赖,才会被认定为项目的正式依赖,同步给其他开发者或部署环境。
2. 单独添加pytest会导致bagpy异常吗?
不会,原因如下:
- 你在
poetry.lock里看到的pytest,是bagpy自身的测试依赖——也就是bagpy开发团队编写测试用例时需要的工具,并非你使用bagpy运行业务代码的必需依赖,所以Poetry不会把它写入你的pyproject.toml - 你自己单独添加pytest(建议用
poetry add --dev pytest,将其标记为开发依赖),是为自己的项目编写测试用的。只要Poetry能自动协调版本兼容(它会默认处理),就不会干扰bagpy的正常运行。如果担心版本冲突,也可以先查看poetry.lock里的pytest版本,安装时指定对应版本即可。
内容的提问来源于stack exchange,提问作者KansaiRobot
相关产品推荐
相关产品推荐

