1. ホーム
  2. python

[解決済み】heroku: このアプリのデフォルト言語が検出されない

2022-02-19 01:58:17

質問

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

解決方法は?

どうやって直したか覚えていませんが Date Modified を、この質問を投稿した後に、2つのファイルを作成しました。

runtime.txt (感謝 ラープ ) が含まれている。

python-3.5.2

Procfile を含んでいます。

web: gunicorn projectname.wsgi --log-file -

これはDjangoのプロジェクトで projectname.wsgi をリードしています。 wsgi.py に位置しています。

projectname/wsgi.py

これが含まれています。

import os
import signal

import sys
import traceback

import time
from django.core.wsgi import get_wsgi_application
from whitenoise.django import DjangoWhiteNoise

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "projectname.settings")

application = get_wsgi_application()
application = DjangoWhiteNoise(application)