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

通过VS Code部署Python EchoBot到Azure App Service时遇模块未找到错误

通过VS Code部署Python EchoBot到Azure App Service时遇模块未找到错误

我太懂这种明明做了基础配置却还是卡壳的感觉了!部署Bot Framework的Python Echo Bot到Azure App Service时,aiohttp依赖死活装不上,你已经加了requirements.txt和SCM构建开关,那咱们从几个关键方向来排查解决:

一、先把requirements.txt的细节盯死

首先确认你的requirements.txt里的aiohttp有没有拼写错误,绝对不能有空格或者大小写问题(比如写成AioHTTP就会炸)。如果没指定版本,建议加个兼容Linux环境的稳定版本号,比如:

aiohttp>=3.8.6
# 其他Bot Framework依赖也一起写上,比如:
botbuilder-core>=4.21.0
botbuilder-schema>=4.21.0
botframework-connector>=4.21.0

这样能避免因为版本兼容问题导致pip安装失败。

二、自定义部署脚本(解决自动构建漏装的问题)

如果Azure的自动构建没触发pip install,那咱们手动写部署脚本强制安装。步骤很简单:

  1. 在项目根目录新建.deployment文件,内容如下:
[config]
command = bash deploy.sh
  1. 再新建deploy.sh脚本,内容如下(记得替换启动文件为你的实际入口,比如app.py或者main.py):
#!/bin/bash
# 把依赖安装到Azure指定的应用依赖目录
pip install -r requirements.txt --target=".python_packages/lib/site-packages"
# 启动应用,gunicorn是Azure Linux默认的WSGI服务器
gunicorn --bind=0.0.0.0 --timeout 600 app:app
  1. 给deploy.sh加执行权限:在本地终端运行chmod +x deploy.sh,然后再通过VS Code部署。

三、检查几个容易忽略的配置项

  • Python版本一致性:去Azure门户的你的App Service -> 配置 -> 常规设置,看看Python版本是不是和你本地开发用的版本一致(比如本地3.9,Azure选3.11可能会有依赖不兼容)。
  • SCM构建开关是否真生效:同样在应用设置里,确认SCM_DO_BUILD_DURING_DEPLOYMENT的值确实是true,有时候保存配置时可能因为网络问题没同步成功,重新保存一次试试。
  • 查看完整部署日志:在VS Code的Azure扩展里,找到你的App Service,右键选“查看日志流”或者“查看部署日志”,找有没有pip install -r requirements.txt的步骤,如果有,看是不是有报错(比如网络问题拉取不到包,或者权限问题)。

四、最后试试强制清缓存重新部署

有时候Azure会缓存旧的部署环境,导致新依赖没装上。在VS Code里部署时,选择“部署到Web App”后,在弹出的选项里选“覆盖现有文件”,或者去Azure门户的App Service -> 部署中心 -> 高级选项,点“重置部署凭据”后再重新部署。

按照这些步骤来,应该能解决aiohttp依赖安装失败的问题,让你的Echo Bot正常跑起来!

备注:内容来源于stack exchange,提问作者Leo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 11:54:36