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

为什么Python导入自定义包时找不到子模块但直接导入模块正常

具体原因

Python的包导入机制默认不会自动加载包下的子模块:

  • 执行from . import views_api时,仅导入了views_api包本身。你虽然已经在views_api目录下放置了__init__.py,但如果该文件为空白、没有显式导入内部子模块,那么views_api的命名空间里就不会自动包含model子模块,直接调用views_api.model会抛出属性不存在的错误。
  • 执行from .views_api import model时,是显式指定加载views_api下的model子模块,Python会主动完成该子模块的加载流程,因此可以正常使用。
修复方案

如果要实现导入包后直接访问子模块的效果,只需要在views_api包的__init__.py中添加显式导入语句即可:

# views_api/__init__.py 新增内容
from . import model
# 有其他需要对外暴露的子模块也可以在这里统一导入

修改后你注释掉的path('model', views_api.model.VueModelView.as_view())代码就可以正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:06:03