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

如何在Azure Functions App中使用本地Python函数?导入本地文件后函数消失

Azure Functions Python导入本地模块导致函数消失的解决办法

取消注释from . import test后发布到Azure Functions,函数在Portal中消失,核心原因是模块导入错误导致函数应用启动失败,并非不能导入本地文件。以下是具体解决步骤:

  • 检查文件结构
    确保test.py与function-app.py处于同一根目录;如果是按包结构组织模块,需要在模块所在目录添加空的__init__.py文件,让Python识别为合法包。

  • 修正导入语句
    Azure Functions执行环境会将函数根目录加入sys.path,直接用import test即可导入同目录模块,无需相对导入from . import test(相对导入可能因执行上下文路径问题报错)。

  • 排查启动错误
    登录Azure Portal进入你的Function App,在监测 > 日志中查看具体报错信息(通常是ModuleNotFoundError或模块初始化时的异常);本地开发时用func start命令运行,通过控制台输出提前定位问题。

  • 优化模块顶级代码
    避免在模块顶级(如test.py的print("testpy"))执行可能引发异常的代码,建议将逻辑封装成函数,在主函数中按需调用,减少启动时的潜在报错。

修正后的示例代码:

function-app.py

import azure.functions as func
import logging
import test

app = func.FunctionApp()

@app.schedule(schedule="* */5 *  * *", arg_name="myTimer", run_on_startup=True,
              use_monitor=False) 
def mytestfunc(myTimer: func.TimerRequest) -> None:
    if myTimer.past_due:
        logging.info('The timer is past due!')
    logging.info('Python timer trigger function executed.')
    test.run_test()

test.py

def run_test():
    print("testpy")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 10:10:07