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

Flask应用推送Heroku失败求助:xlwings依赖安装报错

解决Heroku部署Flask应用时xlwings的Linux安装错误

问题原因

Heroku的服务器运行环境是Linux,而xlwings默认依赖Excel程序,因此它只支持Windows和macOS系统。当pip在Linux环境下安装xlwings时,就会触发你看到的OSError,阻止安装完成,导致部署失败。

解决方案

根据你的实际需求,有几种处理方式:

1. 移除生产环境的xlwings依赖(推荐)

如果你的Flask应用在Heroku上运行时不需要操作Excel(比如xlwings只是你本地开发时用的工具),那最好把它从生产依赖中移除:

  • 创建一个requirements-dev.txt文件,把xlwings放在这个文件里,用于本地开发环境安装
  • 确保requirements.txt里只保留生产环境必需的依赖,这样Heroku部署时就不会尝试安装xlwings了

2. 强制在Linux环境安装xlwings

如果你确实需要在Heroku上安装xlwings(比如使用它不依赖Excel的功能),可以通过设置环境变量跳过系统检查:

  • 方式一:用Heroku CLI设置
    在本地终端运行以下命令(替换browebgen为你的Heroku应用名称):
    heroku config:set INSTALL_ON_LINUX=1 -a browebgen
    
  • 方式二:通过Heroku仪表盘设置
    登录Heroku后台,找到你的应用,进入「Settings」页面,在「Config Vars」部分添加一个新变量:
    • 键:INSTALL_ON_LINUX
    • 值:1

设置完成后重新推送代码,pip就会强制安装xlwings了。

3. 替换为跨平台的Excel处理库

如果你的应用需要操作Excel的核心功能,那xlwings在Linux环境下根本无法正常工作,建议改用纯Python的跨平台库,比如:

  • openpyxl:用于读写Excel xlsx文件
  • pandas:配合openpyxl或xlsxwriter处理Excel数据
  • xlsxwriter:用于生成Excel文件

这些库不需要依赖本地Excel程序,完全兼容Linux环境,能满足大多数Excel处理需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 21:32:30