Heroku部署Python应用时twisted-iocpsupport wheel构建失败如何解决?
错误根因
twisted-iocpsupport是Windows平台专属的Twisted IOCP支持依赖包,仅用于Windows系统下的网络IO性能优化。Heroku的运行环境为Linux,不存在Windows专属的io.h系统头文件,因此编译该包时直接失败,且Linux环境下完全不需要安装这个依赖。
解决步骤
- 第一步:打开项目的依赖声明文件(通常是
requirements.txt,也可能是Pipfile、pyproject.toml),查找是否有显式声明的twisted-iocpsupport依赖项,找到后直接删除该行。 - 第二步:如果没有显式声明该依赖,说明是你在Windows环境下导出依赖清单时,pip自动把平台专属依赖打包进了列表,有两种处理方案二选一:
- 直接删除依赖列表中所有
twisted-iocpsupport以及其他带Windows平台标识的专属依赖,重新生成依赖清单 - 给该依赖添加平台限制,在
requirements.txt中写为twisted-iocpsupport; sys_platform == 'win32',这样pip在非Windows环境下安装时会自动跳过该依赖
- 直接删除依赖列表中所有
- 第三步(可选):修改完成后,在本地新建空的Python虚拟环境,执行
pip install -r requirements.txt验证依赖可以正常安装完成,避免反复推送部署出错。 - 第四步:把修改后的依赖文件提交到Git仓库,重新推送到Heroku执行部署即可。
内容的提问来源于stack exchange,提问作者Geordie Frost
相关产品推荐
相关产品推荐

