gpt4 book ai didi

python - heroku:无法检测到此应用程序的默认语言

转载 作者:行者123 更新时间:2023-12-02 04:49:35 25 4
gpt4 key购买 nike

第一次使用 Heroku。试图插入。我已经运行命令:

heroku create --buildpack heroku/python

它显示了

$ heroku create --buildpack heroku/python
Creating app... done, glacial-reef-7599
Setting buildpack to heroku/python... done
https://glacial-reef-7599.herokuapp.com/ | https://git.heroku.com/glacial-reef-7599.git

堆栈跟踪:

$ git push heroku master
Counting objects: 129, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (124/124), done.
Writing objects: 100% (129/129), 69.06 KiB | 0 bytes/s, done.
Total 129 (delta 22), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: ! No default language could be detected for this app.
remote: HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically.
remote: See https://devcenter.heroku.com/articles/buildpacks
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to pure-badlands-9125.
remote:
To https://git.heroku.com/pure-badlands-9125.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/pure-badlands-9125.git'

我肯定漏掉了一些东西。

我已将 requirements.txt 添加到我的根目录中。它看起来像这样:

.git
.idea
projectapp
projectname
rango
db.sqlite3
manage.py
populate_rango.py
requirements.txt

最佳答案

快速解决方案

  1. 转到 heroku 仪表板 ( https://dashboard.heroku.com/ )
  2. 进入应用程序/项目
  3. 点击设置
  4. 向下滚动一点,然后点击“添加构建包”
  5. 选择您想要的构建包(在我的例子中,我选择了heroku/nodejs)。

TLDR;

实际上,heroku 所做的是,它尝试通过查看项目中的文件来识别您正在部署的项目,例如,如果您的项目有 package.json 文件,它就会认为它是一个 Nodejs 项目,如果您的项目有 requirements.txt 文件,它会理解它是一个 python 项目等等,请参阅 this document查看您可以在 heroku 服务器上运行哪些语言

正如您所知,要在计算机中运行特定项目(例如nodejs项目),节点运行时必须安装在该计算机中,否则您无法在计算机中安装nodejs应用程序,heroku会在不同的容器中运行您的每个应用程序,这意味着在一个容器中只有一个应用程序正在运行,当然该容器已经安装了nodejs,所以如果一个容器只运行一个应用程序,那么在容器中安装所有其他运行时是没有意义的,所以容器在我的容器中只有一个运行时如果是nodejs。他们当然有其他类型的容器,例如 python 的一种类型,并且该容器已经安装了 python 运行时(特定版本),因此如果我的应用程序安装在 python 容器中,它将无法工作,因为我的应用程序位于 Nodejs 中。出于这个原因,我们需要在开始选择正确的容器类型时识别应用程序的类型,大多数情况下,heroku 会自动检测它,但如果无法检测到,您必须通过转到其仪表板设置或通过运行时文件来明确告知您的项目,您可能已经注意到,您只执行过一次。

关于python - heroku:无法检测到此应用程序的默认语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39873920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com