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

为何执行from . import models时出现ImportError未知父包错误?

出现该错误的原因
  • 脚本被直接执行,未作为包模块导入
    像from . import models这种相对导入,要求你的代码是Python包体系的一部分,且通过包层级被导入运行。如果直接用python xxx.py执行这个文件,Python会把它当成独立的顶级脚本,而非某个包下的模块,此时没有父包上下文,自然触发这个错误。

  • 当前目录未被识别为Python包
    Python要把一个目录视为包,要么目录下存在__init__.py文件(Python 3.3+虽支持无__init__.py的命名空间包,但相对导入对这类包的支持有限),要么该目录没被加入Python的模块搜索路径sys.path,这都会导致相对导入找不到父包。

  • 项目结构和教程不匹配
    教程里的代码大概率是在完整的包结构下编写的,比如典型结构:

    my_project/
      __init__.py
      models.py
      main.py  # 在这里写from . import models
    

    如果你的项目缺少__init__.py,或者脚本所在的层级和教程不一样,就会出现相对导入的上下文不匹配问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 01:45:34