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

Firebase Python云函数多文件导入失败及Manifest版本错误问题

Firebase Python云函数多文件部署问题解决方案

一、修复构建规范版本错误

出现FirebaseError Expect manifest yaml to specify a version number是因为缺少指定版本的构建清单文件。在functions目录下创建firebase-functions.yaml,内容如下:

specVersion: 'v1'
runtime: python311 # 替换为你实际使用的Python版本,如python310、python312

若已有该文件,确保specVersion字段存在且值为v1或更高有效版本。

二、解决自定义模块导入错误(ModuleNotFoundError)

Firebase部署Python函数时,默认不会自动识别同目录下的自定义模块,可通过以下三种方式解决:

方式1:使用相对导入

修改main.py中的导入语句为相对导入:

# main.py
from .testclass import Test

# 调用Test类方法示例
test_obj = Test()
test_obj.your_method()

方式2:配置PYTHONPATH环境变量

在firebase-functions.yaml中添加环境变量,将当前函数目录加入Python路径:

specVersion: 'v1'
runtime: python311
env:
  - name: PYTHONPATH
    value: "/workspace"

方式3:用setup.py打包模块(适合多模块复杂项目)

在functions目录下创建setup.py:

from setuptools import setup, find_packages

setup(
    name="function-package",
    version="0.1",
    packages=find_packages(),
)

然后在requirements.txt中添加本地包引用:

-e .

此时main.py可直接使用绝对导入:from testclass import Test。

三、标准项目结构示例

your-project/
├── firebase.json
└── functions/
    ├── main.py
    ├── testclass.py
    ├── firebase-functions.yaml
    ├── requirements.txt
    └── setup.py # 可选,复杂项目使用

四、部署前检查与执行

  1. 确保requirements.txt包含所有依赖(包括LangChain):
Flask
firebase-functions
langchain
# 其他所需依赖
  1. 执行部署命令:
firebase deploy --only functions

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 01:14:57