推送到 Heroku 时出错:请求的运行时不适用于此堆栈

lmb*_*loo 14 python heroku

在 Heroku 中创建存储库后,我想将我的项目从 master 分支推送到我的 heroku 存储库。

在我第一次尝试时,我收到以下错误消息:

无法检测到此应用的默认语言

搜索后,我使用了以下命令:

heroku buildpacks:set heroku/python
Run Code Online (Sandbox Code Playgroud)

现在它给了我这个错误信息:

应用程序与 buildpack 不兼容:https ://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/python.tgz

所以现在我从一开始就尝试了一切,它给了我以下错误:

检测到 Python 应用

请求的运行时 ("python-3.7.1") 不适用于此堆栈 (heroku-18)。

我被困在这里。

我确实有一个requirements.txt包含所有要求runtime.txt的文件,并且与我的manage.py文件位于同一个文件夹中。

Mih*_*aru 11

Heroku 不支持 Python 3.7.1,根据他们关于支持的运行时的文档。如果您需要 Python 3.7,请将 Python 版本更改为 3.7.2,如果您不需要,请将其更改为 3.6.8。

有关指定运行时的信息,请参阅文档的此页面。默认情况下,它使用 3.6.8 for Python,所以如果你想要 3.7.2,你需要创建一个runtime.txt在你的应用程序的根目录中调用的文件,python-3.7.2里面写着。


Zah*_*han 9

检查您当前的 Python 版本:

C:\Python --version
Run Code Online (Sandbox Code Playgroud)

认为:

Python 3.8.5
Run Code Online (Sandbox Code Playgroud)

现在转到 runtime.txt并指定您的 Python 版本:

句法: python-<version>


例子

python-3.8.5正确的

Python-3.8.5不正确

Python 3.8.5不正确


小智 8

只需在推送代码时升级 runtime.txt 文件中的版本即可。堆栈中官方支持的 python 版本列表 -

  • python-3.9.4
  • python-3.8.9
  • python-3.7.10
  • python-3.6.13

有关更多详细信息,请检查 - https://devcenter.heroku.com/articles/python-support#supported-runtimes


小智 5

就我而言,我的 Runtime.txt 是:

# Runtime.txt
python-3.8.5
Run Code Online (Sandbox Code Playgroud)

将其更改为

python-3.10.7
Run Code Online (Sandbox Code Playgroud)

请务必检查开发中心以了解支持的 python 版本。 https://devcenter.heroku.com/articles/python-support#supported-runtimes