当前位置: 首页 > 面试题库 >

Heroku:即使使用runtime.txt,此应用程序的python也无法检测到默认语言

吕鸿朗
2023-03-14
问题内容

我正在尝试将项目部署到heroku,并且出现此错误:-

Counting objects: 70, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (64/64), done.
Writing objects: 100% (70/70), 17.36 KiB | 0 bytes/s, done.
Total 70 (delta 23), reused 3 (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...

如果您转到我的github项目,则我拥有heroku项目所需的所有内容,包括runtime.txt文件,但仍然出现此错误。我尝试更改Heroku支持的不同python版本,但仍然存在相同的错误。有人可以帮我吗?

如果我添加一个构建包,那么我将收到以下错误

Counting objects: 70, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (64/64), done.
Writing objects: 100% (70/70), 17.36 KiB | 0 bytes/s, done.
Total 70 (delta 23), reused 3 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Failed to detect app matching https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/python.tgz buildpack
remote:        More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:

不知道我要去哪里错了?


问题答案:

解决此问题的一种可能方法是在创建应用程序期间指定buildpack,例如:

$ heroku create myapp --buildpack heroku/python

或在创建应用后,例如:

$ heroku buildpacks:set heroku/python

推荐文档:Heroku文档

我发现的另一个问题是package.jsondjango项目中有不必要的文件和其他文件。我通过从我的应用程序目录中删除不必要的文件来解决它。
由于这些文件阻碍了buildpack的自动检测。

检测失败的另一个原因可能是您的应用的 文件夹结构错误
。在Procfile和其他Heroku的文件应该就在Git目录下的启动,否则您的应用程序将无法检测到。



 类似资料:
  • 问题内容: 第一次使用Heroku。试图推动。我已经运行了命令: 并显示 堆栈跟踪: 我一定要错过一些东西。 我已经在我的根目录中添加了一个。看起来像这样: 问题答案: 我不记得如何解决此问题,但是在发布此问题后查看文件中的创建了两个文件: (感谢 rurp ),其中包含: 其中包含: 这是Django专案,并导致位于 其中包含:

  • 我运行git push heroku master成功之前几次。然而,这一次当我有一个新的项目并尝试使用它时,它并不起作用。我检查的错误来自这里: 远程:!无法检测到此应用程序的默认语言。Remote:提示:当Heroku无法自动检测到用于此应用程序的buildpack时,会发生这种情况。远程:请参阅https://devcenter.heroku.com/articles/buildpacks

  • 我正在尝试将Firebase(Firestore)添加到我的Nuxt项目中,但是在初始化Firebase中的常量时,我收到了以下错误。firestore()在我的索引中。vue文件: 未捕获的Firebase错误:Firebase:未创建Firebase应用程序[DEFAULT]-调用Firebase App.initializeApp()(app/no-app)。 我已经在我的项目中安装了Fir

  • 它说要使用以下命令: 在Google Shell中,我尝试了以下操作: 我知道命令指向的是正确的文件位置。如何成功验证应用程序默认凭据?

  • 我正在开发一个包含敏感数据(加密密钥)的应用程序,这些数据不应该泄露。该应用程序应该能够在任何时候脱机工作,所以我不能在云中存储密钥。 当用户有一个扎根的设备时,他可以提取apk并获得密钥。我想阻止这一切。 一旦检测到根用户访问权限,有没有办法在没有用户确认的情况下立即强制卸载我的应用程序? (或者是否有其他方法防止钥匙泄漏??) 我看了一下Samsung Knox,它对数据进行加密,并使用一个硬

  • 我创建了一个具有并发gcloud应用程序的Dialogflow代理。但是,当我尝试将它集成到Node.js后端时,它似乎访问了错误的应用程序默认凭据。 我可以确认它正在验证身份验证是否成功,因为当我运行以下代码时,它的控制台记录了正确的项目ID(diagnosistest-56e81): null 当我执行此操作时,会得到不同的错误消息:

  • 我进去的时候 $git推送heroku master 它显示: 错误:已给出双重要求:telegram(from-r/tmp/build_996aa7e0/requirements.txt(第60行))(已在telegram==0.0.1(from-r/tmp/build_996aa7e0/requirements.txt(第47行))中,name='telegram') 这是所有日志: 枚举对象

  • 问题内容: 我最近将gcloud库从118.0.0更新为132.0.0,并且remote_api_shell立即不再起作用。我经历了许多重新登录的过程,通过gcloud设置了应用程序默认凭据,并使用了服务帐户和环境变量。所有排列均失败,并显示相同的错误消息: 经过131.0.0和130.0.0的重新修订后,我回到118.0.0,重新登录,一切正常。 更新gcloud之后,我没有更新正在运行的应用程