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

Cloud Composer导入自定义src模块报No module named 'src'如何解决?

Cloud Composer自定义模块导入报错解决方案

报错原因

Cloud Composer的Airflow运行环境默认仅将/home/airflow/gcs/dags目录加入Python模块搜索路径,你的项目整体存放在dags下的quality-control子目录中,src文件夹不在默认搜索路径范围内,因此Python无法识别到src模块。

可行解决方法(任选其一即可)

  • 方案1:修改导入语句前缀
    如果将quality-control目录重命名为符合Python模块命名规则的quality_control(不可包含横杠),将导入语句修改为以下格式即可:
    from quality_control.src.kuzzle import KuzzleQuery, Tag
    
  • 方案2:动态添加模块搜索路径(无需修改原有导入逻辑)
    在main.py文件最顶部、所有导入语句之前添加以下代码,将当前项目的根目录临时加入Python搜索路径:
    import sys
    import os
    sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
    
    添加完成后原有from src.kuzzle import KuzzleQuery, Tag语句可正常使用。
  • 方案3:调整项目上传结构
    直接将src文件夹上传到dags根目录下,不嵌套在quality-control子目录中,此时src处于默认搜索路径范围内,原有导入语句无需修改即可生效。

注意事项

  • src目录下建议保留空的__init__.py文件,虽然Python 3.3+支持隐式命名空间包,添加该文件可避免出现模块识别异常。
  • 文件上传到GCS后需等待2-3分钟,等待Cloud Composer完成节点间的文件同步后再验证导入逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:45:04