执行git push heroku main遇pywin32依赖错误,寻求解决方案
解决Heroku推送Python项目时的pywin32安装错误
问题根源
你遇到的错误是因为pypiwin32和pywin32是Windows平台专属的Python库,Heroku服务器基于Linux系统,pip在Linux环境下找不到这两个包的兼容发行版,导致安装失败。
解决步骤
- 直接从
requirements.txt中删除以下两行:pypiwin32==223 pywin32==305 - 如果你本地Windows开发确实需要这两个包,建议将它们分离到开发依赖文件(比如
requirements-dev.txt)中,仅在本地开发时安装,部署到Heroku时只提交生产环境的requirements.txt。 - 或者使用pip的条件安装语法,修改
requirements.txt中的对应行,让Linux环境自动跳过:pywin32==305; sys_platform == 'win32' pypiwin32==223; sys_platform == 'win32' - 提交修改后的文件:
git add requirements.txt git commit -m "Remove Windows-only packages for Heroku deployment" git push heroku main
额外说明
runtime.txt指定的Python 3.9.16版本没有问题,错误与Python版本无关,纯粹是平台兼容性导致的。
内容的提问来源于stack exchange,提问作者bogdan-cmd
相关产品推荐
相关产品推荐

