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

Azure Linux Web App压缩部署后启动提示aiohttp模块不存在如何解决

问题根因

日志中的两条警告已经明确问题核心:

WARNING: Could not find virtual environment directory /home/site/wwwroot/antenv.
WARNING: Could not find package directory /home/site/wwwroot/__oryx_packages__.

这说明Zip部署过程中Oryx构建环节没有正常执行依赖安装流程,requirements.txt中的依赖没有被安装到运行环境中。

排查步骤

  • 首先确认Zip包的根目录是否直接包含requirements.txt:很多人打包时会把代码放到外层文件夹里,导致Oryx无法识别到根目录的requirements.txt,不会触发依赖安装。比如压缩包解压后是myapp/requirements.txt而非直接requirements.txt,就会出现这个问题。
  • 检查应用配置是否关闭了构建功能:Azure Web App默认Zip部署时会开启构建,但如果之前配置过SCM_DO_BUILD_DURING_DEPLOYMENT为false,就会跳过依赖安装环节。
  • 确认linux_fx_version配置是否生效:如果配置没有正确保存,运行环境和本地开发环境版本不一致也可能导致依赖安装失败,你已经尝试过更换Python版本可以先排除这个可能。

修复方案

  1. 调整打包逻辑
    打包时直接选中所有代码文件(包括requirements.txt、app.py)再压缩,不要外层嵌套文件夹。比如你本地代码都在project文件夹下,就进入project文件夹,全选所有文件后打包,不要直接压缩project文件夹。
  2. 强制开启部署时构建
    执行az命令配置应用环境变量,开启部署自动构建:
az webapp config appsettings set --name <你的应用名> --resource-group <你的资源组名> --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true

配置完成后重新执行Zip部署命令即可。
3. 可选:手动指定启动逻辑
如果上述方法都不生效,可以直接在应用配置的启动命令里添加依赖安装步骤,启动命令设置为:

python -m pip install -r /home/site/wwwroot/requirements.txt && gunicorn --bind=0.0.0.0 --timeout 600 app:app

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 09:27:04