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

Azure App Service部署Streamlit应用失败求助

Azure Web App Zip部署Streamlit应用报错解决方案

问题描述

在B1规格Azure Web App实例上通过Zip部署Streamlit应用,Oryx日志显示requirements.txt内的依赖已成功安装,SCM_DO_BUILD_DURING_DEPLOYMENT已设为true,但启动时日志出现以下错误:

Cound not find build manifest file at '/home/site/wwwroot/oryx-manifest.toml'
WARNING: Could not find virtual environment directory /home/site/wwwroot/antenv.
WARNING: Could not find package directory /home/site/wwwroot/oryx_packages.
/opt/python/3/bin/python: No module named streamlit

尝试过两种启动命令(存在语法问题):

  • python -m streamlit run app.py--server.port 8000 --server.address 0.0.0.0
  • python -m streamlit hello --server.port 8000 --server.address 0.0.0.0

本地已验证requirements.txt和启动命令可用,尝试过停止重启实例、重新上传部署包,问题依旧。无法使用Docker,依赖包含Transformers、BERTopic、Sentence-Transformers。

解决步骤

  • 修正启动命令语法:原命令中app.py与--server.port之间缺少空格,导致参数识别失败。正确命令:
    python -m streamlit run app.py --server.port 8000 --server.address 0.0.0.0
    
  • 指定虚拟环境启动:Oryx将依赖安装到antenv虚拟环境,但默认启动命令未激活该环境,需先激活再启动:
    source /home/site/wwwroot/antenv/bin/activate && python -m streamlit run app.py --server.port 8000 --server.address 0.0.0.0
    
  • 添加Oryx构建清单文件:在部署包根目录创建oryx-manifest.toml文件,指定Python版本和虚拟环境路径(替换为实际使用的Python版本):
    [manifest]
    version = "1.0"
    [python]
    version = "3.9"
    virtualenv_dir = "antenv"
    
  • 配置PYTHONPATH环境变量:在Azure Web App的「配置-应用设置」中添加PYTHONPATH,值设为虚拟环境的site-packages路径(替换对应Python版本号):
    /home/site/wwwroot/antenv/lib/python3.9/site-packages
    
  • 确认requirements.txt位置:确保requirements.txt在部署包的根目录,而非子文件夹,Oryx仅扫描根目录的依赖文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 11:56:11