Pyright无法解析含独立pyproject.toml模块的导入问题
单仓库多pyproject.toml导致绝对导入无法解析
我的仓库结构如下:
- pyproject.toml (根工作区,引用其他成员) src ├── application │ └── service.py ├── domain │ ├── headroom │ │ └── service.py │ ├── hosting_capacity │ │ └── service.py │ ├── model_free_engine │ │ └── service.py │ └── shared ├── entrypoint │ ├── api │ │ ├── main.py │ │ └── pyproject.toml │ └── worker │ ├── main.py │ └── pyproject.toml ├── infrastructure └── libs └── schemas └── pyproject.toml
所有带有独立pyproject.toml的子文件夹中的代码无法解析绝对导入,例如在entrypoint/api/main.py中:
from application.service import Service
这段代码会报错。
出现问题的文件夹:
- entrypoint/worker
- entrypoint/api
- libs/schemas
没有pyproject.toml的文件夹则正常工作:
- application
- domain
- infrastructure
我已经尝试在根目录和各个模块中配置多种pyrightconfig.json,但都无效,只有删除每个模块的pyproject.toml才能解决问题。以下是根目录的配置示例:
{ "typeCheckingMode": "strict", "reportMissingImports": true, "reportMissingTypeStubs": false, "include": [ "src" ], "extraPaths": [ "src", "src/entrypoint/api", "src/entrypoint/worker", "src/libs/schemas" ] }
内容的提问来源于stack exchange,提问作者Ari
相关产品推荐
相关产品推荐

