Poetry新版本未自动生成测试文件与pytest依赖问题咨询
问题解答
没错,Poetry在1.2版本之后对默认项目初始化行为做了多处调整,你遇到的这些差异都是版本更新导致的,具体说明如下:
测试文件缺失:旧版本的
poetry new会自动生成tests目录及对应的测试文件,但Poetry 1.2+版本默认不再包含测试结构。如果需要初始化时就生成测试相关内容,可以使用带参数的命令:poetry new --with pytest rp-poetry也可以后续手动创建
tests目录并添加测试文件。空的
__init__.py:旧版本会把版本信息写入包目录下的__init__.py,但1.2+版本将所有项目元数据(包括版本、作者等)统一放在pyproject.toml的[tool.poetry]区块中,比如:[tool.poetry] name = "rp-poetry" version = "0.1.0" description = "" authors = ["Your Name <you@example.com>"]所以
__init__.py为空是正常的新默认行为。dev依赖配置变化:旧版本的
[tool.poetry.dev-dependencies]区块在1.2+版本中被替换为分组依赖,dev依赖需要放在[tool.poetry.group.dev.dependencies]下。而且初始化时不会自动添加pytest,需要手动安装,执行命令:poetry add --dev pytest@^5.2
简单来说,最新版Poetry确实需要手动安装pytest(或初始化时用--with pytest参数),这些调整是官方为了提供更灵活的项目结构和依赖管理方式而做出的变更。
内容的提问来源于stack exchange,提问作者KansaiRobot
相关产品推荐
相关产品推荐

