You need to enable JavaScript to run this app. Azure Functions导入同目录自定义模块出现ModuleNotFoundError错误
优惠活动
大模型
产品
解决方案
定价
更多

Azure Functions导入同目录自定义模块出现ModuleNotFoundError错误

Azure Functions Python项目自定义模块导入及启动报错解决方案

问题说明

你当前遇到两类报错,其中/dev/shm权限报错为macOS平台运行Azure Functions Core Tools的已知兼容性问题,不影响函数核心逻辑;ModuleNotFoundError: No module named 'mymodule'为模块导入路径配置错误导致,是启动失败的核心原因。

解决方案

1. 修复自定义模块导入错误

Azure Functions Python worker的默认工作目录为项目根目录(即存放host.json、requirements.txt的目录),而非单个触发器的子目录,你将mymodule.py放在触发器子目录和__init__.py同级时,直接写import mymodule无法被检索到,可根据使用场景二选一:

  • 场景一:mymodule仅为当前触发器使用,保留文件放在触发器子目录(和__init__.py同级),将导入语句修改为相对导入:
    from . import mymodule
    
  • 场景二:mymodule需要被多个触发器共用,将mymodule.py移动到项目根目录,原import mymodule语句无需修改即可正常识别。

2. 消除/dev/shm权限报错

如果需要清除该警告,可在启动命令前添加环境变量关闭共享内存传输特性,启动命令修改为:

. .venv/bin/activate && export AZURE_FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED=false && func host start

验证步骤

  • 确认导入语句和文件存放位置匹配
  • 执行修改后的启动命令,即可正常加载模块运行函数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 18:06:03