Python 推送到Heroku时出错:请求的运行时对此堆栈不可用

Python 推送到Heroku时出错:请求的运行时对此堆栈不可用,python,heroku,Python,Heroku,在Heroku中创建存储库之后,我想将我的项目从主分支推送到Heroku repo 第一次尝试时,我收到以下错误消息: 无法检测到此应用的默认语言 搜索后,我使用了以下命令: heroku buildpacks:set heroku/python 现在它给了我这个错误消息: 应用程序与buildpack不兼容: 因此,现在我从一开始就尝试了所有方法,它给了我以下错误: 检测到Python应用程序 请求的运行时(“python-3.7.1”)不可用 可用于此堆栈(heroku-18) 我被困在

在Heroku中创建存储库之后,我想将我的项目从主分支推送到Heroku repo

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

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

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

heroku buildpacks:set heroku/python
现在它给了我这个错误消息:

应用程序与buildpack不兼容:

因此,现在我从一开始就尝试了所有方法,它给了我以下错误:

检测到Python应用程序

请求的运行时(“python-3.7.1”)不可用 可用于此堆栈(heroku-18)

我被困在这里了


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

根据Heroku上的文档,Python 3.7.1不受支持。如果需要Python 3.7,请将Python版本更改为3.7.2;如果不需要,请将Python版本更改为3.6.8


有关指定运行时的信息,请参见。默认情况下,Python使用3.6.8版本,因此如果您想要3.7.2版本,您需要在应用程序的根目录中创建一个名为
runtime.txt
的文件,其中写入
Python-3.7.2

检查您当前的Python版本:

C:\Python --version
假设:

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

C:\Python --version
语法:
python-


示例

python-3.8.5
是正确的

Python-3.8.5
不正确


Python 3.8.5
不正确

在我的情况下,我的Runtime.txt是:

# Runtime.txt
python-3.8.5
我删除了
#Runtime.txt
行,它成功了


此外,您应该在推送之前提交更改。

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

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

有关更多详细信息,请检查-

我知道可以在开始时为virtual env指定python版本,但我可以更改它吗?您的意思是什么?将Python版本更改为3.7.1?如果您想更改虚拟环境使用的Python版本,您可以查看我认为描述您的问题的。