将我的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.
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
相关问题 更多 >
编程相关推荐