将python flask应用程序上载到Heroku时出错

2024-06-01 21:52:00 发布

您现在位置:Python中文网/ 问答频道 /正文

将我的python flask应用程序上载到Heroku时,我遇到以下错误:

ERROR: Could not find a version that satisfies the requirement dataclasses==0.8 (from -r /tmp/build_d980c139/requirements.txt (line 4)) (from versions: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6)
remote:        ERROR: No matching distribution found for dataclasses==0.8 (from -r /tmp/build_d980c139/requirements.txt (line 4))
remote:  !     Push rejected, failed to compile Python app.

Tags: frombuildtxt应用程序flaskherokuremote错误
1条回答
网友
1楼 · 发布于 2024-06-01 21:52:00

Heroku为您的应用程序安装最新的python版本。目前我假设它正在安装python版本3.9.6。但是从Python3.8.0及以后,dataclasses==0.8是在那里预先构建的。此外部dataclasses库仅存在于0.1-0.6版本(错误消息中显示)中,并且可能已停止升级,因为它现在已存在于预构建版本中。因为它没有找到特定的0.8版本,所以它抛出了未找到的错误

现在要解决这个问题,有两种方法- 简单的方法是从requirement.txt中删除dataclasses==0.8并上传它

另一种方法是在requirement.txt中保留dataclasses==0.8,并在requirement.txt所在的同一根目录中添加另一个名为“runtime.txt”的txt文件。这一行-Python {yourspecifiedversion}。这将告诉Heroku要安装哪个python版本。您可以选择与所有外部库正确匹配的python版本。但如果python版本小于3.8.0,则需要添加'dataclasses==0.8'

在Heroku上指定python运行时位于以下链接-Specifying a Python Runtime

相关问题 更多 >