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

Azure Functions v2中Python跨文件导入函数报错及可行性咨询

在Azure Functions v2中导入其他文件函数的解决方案

Azure Functions完全支持从项目内的其他文件/包导入函数,你遇到的导入错误是因为运行环境的模块路径规则导致的,以下针对你尝试的两种结构给出修正方案:

第一种结构:test.py与function_app.py同级

问题原因

使用from . import say_hi属于相对导入语法,但Azure Functions运行时会将function_app.py作为顶级主模块(__name__ == '__main__')执行,相对导入在顶级模块中会触发no known parent package错误。

修正方案

改用绝对导入,直接从模块名导入:

# function_app.py中
from test import say_hi

# 调用函数
say_hi()

第二种结构:test目录(含__init__.py)

方案1:直接导入子模块函数

# function_app.py中
from test.test import say_hi

say_hi()

方案2:通过包的__init__.py简化导入

在test/__init__.py中添加导出语句:

# test/__init__.py
from .test import say_hi

之后在function_app.py中直接从包导入:

from test import say_hi

say_hi()

注意点

不要使用from .test import say_hi这类相对导入,因为function_app.py处于项目根目录(顶级模块),不存在父包上下文,相对导入语法不适用。

核心逻辑

Azure Functions运行时会自动将项目根目录添加到Python的sys.path中,因此所有根目录下的模块、包都可以通过绝对导入直接引用,只要遵循Python的模块导入规则即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 15:22:17