使用poetry run运行脚本时无法从子文件夹导入模块的问题
Poetry 项目子模块导入异常问题
项目结构如下:
. ├── README.md ├── pyproject.toml ... my_project_name/ ├── moduleA.py ├── moduleB.py └── FolderC └── moduleC.py
moduleA.py 代码:
from .moduleB import moduleB_func from .FolderC.moduleC import moduleC_func ...
pyproject.toml 中的脚本配置:
funcA_run = my_project_name.moduleA:funcA
(funcA 为示例函数——启动时在第二行导入语句处触发异常)
在项目目录(包含my_project_name文件夹、readme.rst、pyproject.toml及其他Poetry文件)中执行 poetry run funcA_run 时,moduleB可成功导入,但来自子文件夹的moduleC无法导入:
ImportError: cannot import name 'moduleC_func' from 'FolderC' (unknown location)
移除导入语句中的 . 无济于事。
使用 import FolderC.moduleC.moduleC_func 时,会出现以下错误:
ModuleNotFoundError: No module named 'FolderC.moduleC_func'
若在 moduleB.py 中导入 moduleC.py,会出现同样的问题。
因此,无法运行任何包含项目本地相对导入的脚本。
Poetry版本为1.1.14
编辑:本问题描述的情况无法复现,更多细节见我的回答。
内容的提问来源于stack exchange,提问作者metramarta
相关产品推荐
相关产品推荐

