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

Azure Function App部署报错:ModuleNotFoundError: No module named 'snowflake'

解决Azure Function App中snowflake模块找不到及日志/Kudu访问问题

一、解决ModuleNotFoundError: No module named 'snowflake'

针对Bitbucket CI/CD打包Zip部署的场景,按以下步骤排查修复:

  • 确保依赖安装到正确路径
    Azure Functions要求Python依赖必须安装在函数目录下的.python_packages/lib/site-packages目录中。在Bitbucket的CI脚本里,安装依赖时指定目标路径:

    pip install -r requirements.txt --target .python_packages/lib/site-packages
    

    不要直接用默认的全局安装,否则打包时不会包含这些依赖。

  • 验证Zip包包含依赖目录
    打包脚本要确保把.python_packages文件夹一起打包进去。比如使用zip命令时:

    zip -r function_app.zip . -x "*.git*" "venv/*"
    

    排除不需要的文件,但必须包含.python_packages,否则部署后函数运行环境里没有snowflake依赖。

  • 严格匹配Python版本
    确认Bitbucket CI环境中使用的Python版本,和Azure Function App配置的版本完全一致(比如都是3.9.x)。不同版本的依赖包结构可能不兼容,导致模块无法被识别。可以在CI脚本里指定Python版本,比如:

    pyenv local 3.9.16
    
  • 检查虚拟环境干扰
    如果CI流程中使用了虚拟环境,确保激活后再安装依赖,或者直接跳过虚拟环境,直接将依赖安装到.python_packages目录,避免依赖被隔离在虚拟环境中没被打包。

二、找到部署日志和Kudu控制台

  • 部署日志
    登录Azure Portal,进入你的Function App:

    1. 左侧菜单选择「部署中心」,切换到「日志」选项卡,这里能查看Bitbucket每次部署的详细过程,包括依赖安装是否成功、打包是否完整。
    2. 左侧菜单选择「监控」->「日志」,可以查看函数触发时的运行时日志,进一步排查模块加载失败的具体原因。
  • Kudu控制台
    有两种快速访问方式:

    1. 在Function App的左侧菜单找到「高级工具」,点击页面中的「Go」按钮,直接进入Kudu界面。
    2. 直接访问URL:https://<你的函数应用名称>.scm.azurewebsites.net,登录你的Azure账号即可进入。
      进入Kudu后,通过「Debug console」->「CMD/PS」可以查看函数目录下的.python_packages文件夹,确认snowflake相关依赖是否存在;也能查看环境变量、运行时版本等信息,辅助排查问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 04:52:09