在Heroku中创建存储库后,我想将项目从master分支推送到我的heroku存储库。
第一次尝试时,我收到以下错误消息:
此应用无法检测到默认语言
搜索后,我使用了以下命令:
heroku buildpacks:set heroku/python
现在它给了我这个错误信息:
应用程序与buildpack不兼容: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/python.tgz
因此,现在我从头开始尝试了所有操作,它给了我以下错误:
检测到Python应用
请求的运行时(“ python-3.7.1”)不是 可用于此堆栈(heroku-18)。
我被困在这里。
我确实有一个满足所有要求的requirements.txt
,并且在我的runtime.txt
文件的同一文件夹中有一个manage.py
。
答案 0 :(得分:1)
Heroku根据supported runtimes上的文档,不支持Python 3.7.1。如果需要Python 3.7,则将Python版本更改为3.7.2,否则,将其更改为3.6.8。
有关指定运行时的信息,请参见this page of the documentation。默认情况下,它对Python使用3.6.8,因此,如果要使用3.7.2,则需要在应用程序的根目录中创建一个名为 def complete[T](status: StatusCode, value: T, marshaller: Marshaller[T, RequestEntity]) = RouteAdapter {
D.complete(ToResponseMarshallable(value)(fromToEntityMarshaller(status.asScala)(marshaller)))
}
的文件,并在其中写入runtime.txt
。
答案 1 :(得分:1)
只需在推送代码的同时升级您的 runtime.txt 文件中的版本。 堆栈中官方支持的python版本列表-
欲了解更多详情,请查看 - https://devcenter.heroku.com/articles/python-support#supported-runtimes
答案 2 :(得分:0)
检查您当前的Python版本:
C:\Python --version
假设:
Python 3.8.5
现在转到 runtime.txt
并指定您的Python版本:
语法: python-<version>
示例:
python-3.8.5
是正确。
Python-3.8.5
是不正确。
Python 3.8.5
是不正确。
答案 3 :(得分:0)
就我而言,我的Runtime.txt是:
# Runtime.txt
python-3.8.5
我删除了#Runtime.txt
行,而且行得通!
此外,您应该在推送之前提交更改。