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

Heroku部署Django项目提示找不到pywin32==301版本该如何解决?

解决方法

根因说明

你遇到两类独立报错:

  1. 依赖解析错误:pywin32是Windows平台专属组件,Heroku的Linux运行环境没有对应安装包,即便你加了平台限制标记,部分旧版构建环境也可能不识别该规则导致报错;你删除后仍报错的核心原因是修改后的requirements.txt未提交到Git仓库,推送至Heroku的仍是包含pywin32的旧版本文件。
  2. 重复构建报错:你多次使用同一个commit版本提交部署,被Heroku的构建规则拦截。

分步操作

  • 第一步:清理生产依赖
    直接删除requirements.txt中的两行Windows专属依赖:
pypiwin32==223;platform_system == "Windows"
pywin32==301;platform_system == "Windows"

如果本地Windows开发环境需要这两个依赖,可单独维护requirements-dev.txt存放开发依赖,部署用的requirements.txt仅保留Linux环境可兼容的组件即可。
另外注意到你requirements.txt最后一行wrapt==1.12.版本号格式不完整,建议补全为wrapt==1.12.1避免后续解析报错。

  • 第二步:提交修改到Git
    执行以下命令把修改提交到本地Git仓库:
git add requirements.txt
git commit -m "清理Windows专属依赖,修复wrapt版本号格式"
  • 第三步:重新推送部署
    本次提交会生成新的commit哈希,不会触发重复构建拦截,直接执行部署命令即可:
git push heroku master

如果仍触发重复构建提示,可随便修改一处无意义内容(比如给README加个空行)重新提交生成新的commit哈希,再推送即可。

  • 额外排查
    如果修改后仍报pywin32相关错误,检查项目根目录是否存在Pipfile、Pipfile.lock、pyproject.toml等依赖声明文件,Heroku会优先识别这类文件的依赖配置,若里面包含pywin32相关声明也需要一并删除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:09:04