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

Python TUI包导入报错:AttributeError: module无'draw'属性

问题原因

直接导入顶层包my_project时,Python不会自动将子模块(比如draw)注册为顶层包的属性,除非你在顶层包的__init__.py中显式声明导入这些子模块。这就是mypro.draw报错,但from my_project import draw能正常运行的核心原因——后者直接导入了子模块本身。

解决方案

修改项目根目录下的__init__.py文件,添加对draw子模块的导入:

# my_project/__init__.py
from . import draw
# 可选:如果需要其他子模块也能通过顶层包访问,可一并导入
from . import my_math
from . import styling

修改后,执行import my_project as mypro时,mypro.draw就会被正确识别,你可以直接调用mypro.draw.box()。

另外,确保draw目录下的__init__.py已经正确导出box函数(从你的测试结果看这部分已正常),示例如下:

# my_project/draw/__init__.py
from .shapes import box

内容的提问来源于stack exchange,提问作者slicnake

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 09:00:56