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

Azure Functions Python本地运行遇ModuleNotFound异常(含ORM类库)

问题总结

在Windows本地运行Azure Functions时,已通过虚拟环境安装的依赖包(如ratelimit、Pony ORM)被提示ModuleNotFoundError,但Mac本地及Azure云端运行正常。核心错误为Customer packages not in sys path,Functions Worker未加载虚拟环境的依赖路径。

根本原因

Windows环境下,Azure Functions Core Tools在执行func host start时,可能未正确继承虚拟环境的环境变量,导致Worker进程调用系统全局Python(而非虚拟环境内的Python解释器),系统Python中未安装项目依赖,因此出现模块找不到的错误。而Mac的Shell环境对虚拟环境变量传递的兼容性更好,Azure云端则是直接部署依赖包至运行环境,不存在路径识别问题。

解决方案

无需更换Azure Functions,可通过以下方法修复Windows本地运行问题:

  1. 强制指定虚拟环境的Python解释器
    启动Functions时,直接指定虚拟环境内的Python路径,确保Worker使用正确的解释器:

    func start --python ".venv\Scripts\python.exe"
    
  2. 分步执行虚拟环境激活与启动命令
    避免用分号连接激活和启动命令,改为分步执行,确保环境变量正确传递:

    .venv\Scripts\activate
    func host start
    
  3. 设置PYTHONPATH环境变量
    手动将虚拟环境的依赖目录加入Python路径:

    set PYTHONPATH=C:\{你的项目路径}\.venv\lib\site-packages
    func host start
    
  4. 升级Azure Functions Core Tools
    旧版本Core Tools存在Windows虚拟环境路径识别bug,升级至最新版本可解决部分兼容性问题:

    npm install -g azure-functions-core-tools@4 --unsafe-perm true
    
  5. 确认依赖安装路径
    确保使用虚拟环境内的pip安装依赖,避免误装到系统Python:

    .venv\Scripts\pip install -r requirements.txt
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 14:03:13