You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 14:50:33