質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

1483閲覧

HEROKU hello world アプリが起動できない

K.K4

総合スコア0

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/12/23 08:54

編集2020/12/27 05:51

前提・実現したいこと

herokuにてhello worldと表示させたいです。

発生している問題・エラーメッセージ

https://qiita.com/redpanda/items/a056daea48b545250ce7
上記のサイトを参考にデプロイを試みたのですがアプリの起動を行うときにエラーが出てき、何が原因かわからない状況です。

イメージ説明
アプリをheroku openで起動しようとしたときこの画面が出てきてアプリが動きませんでした

※追加情報
最新のheroku logs --tailを追加します。

2020-12-27T05:22:29.122077+00:00 app[web.1]: [2020-12-27 05:22:29 +0000] [8] [INFO] Booting worker with pid: 8 : [2020-12-27 05:22:29 +0000] [8] [ERROR] Exception in worker process : Traceback (most recent call last): : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker : worker.init_process() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/workers/base.py", line 119, in init_process : self.load_wsgi() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi : self.wsgi = self.app.wsgi() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi : self.callable = self.load() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 49, in load : return self.load_wsgiapp() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp : return util.import_app(self.app_uri) : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/util.py", line 358, in import_app : mod = importlib.import_module(module) : File "/app/.heroku/python/lib/python3.9/importlib/__init__.py", line 127, in import_module : return _bootstrap._gcd_import(name[level:], package, level) : File "<frozen importlib._bootstrap>", line 1030, in _gcd_import : File "<frozen importlib._bootstrap>", line 1007, in _find_and_load : File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked : File "<frozen importlib._bootstrap>", line 680, in _load_unlocked : File "<frozen importlib._bootstrap_external>", line 786, in exec_module : File "<frozen importlib._bootstrap_external>", line 923, in get_code : File "<frozen importlib._bootstrap_external>", line 853, in source_to_code : File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed : File "/app/app.py", line 13 : app.run(debug=False, host='0.0.0.0', port=int(os.environ.get('PORT', 5000))) : ^ : IndentationError: expected an indented block : [2020-12-27 05:22:29 +0000] [8] [INFO] Worker exiting (pid: 8) : [2020-12-27 05:22:29 +0000] [9] [INFO] Booting worker with pid: 9 : [2020-12-27 05:22:29 +0000] [9] [ERROR] Exception in worker process : Traceback (most recent call last): : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker : worker.init_process() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/workers/base.py", line 119, in init_process : self.load_wsgi() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi : self.wsgi = self.app.wsgi() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi : self.callable = self.load() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 49, in load : return self.load_wsgiapp() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp : return util.import_app(self.app_uri) : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/util.py", line 358, in import_app : mod = importlib.import_module(module) : File "/app/.heroku/python/lib/python3.9/importlib/__init__.py", line 127, in import_module : return _bootstrap._gcd_import(name[level:], package, level) : File "<frozen importlib._bootstrap>", line 1030, in _gcd_import : File "<frozen importlib._bootstrap>", line 1007, in _find_and_load : File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked : File "<frozen importlib._bootstrap>", line 680, in _load_unlocked : File "<frozen importlib._bootstrap_external>", line 786, in exec_module : File "<frozen importlib._bootstrap_external>", line 923, in get_code : File "<frozen importlib._bootstrap_external>", line 853, in source_to_code : File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed : File "/app/app.py", line 13 : app.run(debug=False, host='0.0.0.0', port=int(os.environ.get('PORT', 5000))) : ^ : IndentationError: expected an indented block : [2020-12-27 05:22:29 +0000] [9] [INFO] Worker exiting (pid: 9) : Traceback (most recent call last): : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/arbiter.py", line 209, in run : self.sleep() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/arbiter.py", line 357, in sleep : ready = select.select([self.PIPE[0]], [], [], 1.0) : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/arbiter.py", line 242, in handle_chld : self.reap_workers() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/arbiter.py", line 525, in reap_workers : raise HaltServer(reason, self.WORKER_BOOT_ERROR) : gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3> : : During handling of the above exception, another exception occurred: : : Traceback (most recent call last): : File "/app/.heroku/python/bin/gunicorn", line 8, in <module> : sys.exit(run()) : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in run : WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/base.py", line 228, in run : super().run() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/base.py", line 72, in run : Arbiter(self).run() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/arbiter.py", line 229, in run : self.halt(reason=inst.reason, exit_status=inst.exit_status) : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/arbiter.py", line 342, in halt : self.stop() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/arbiter.py", line 393, in stop : time.sleep(0.1) : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/arbiter.py", line 242, in handle_chld : self.reap_workers() : File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/arbiter.py", line 525, in reap_workers : raise HaltServer(reason, self.WORKER_BOOT_ERROR) 2020-12-27T05:22:29.206571+00:00 app[web.1]: gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3> 2020-12-27T05:22:29.307883+00:00 heroku[web.1]: Process exited with status 1 2020-12-27T05:22:29.357867+00:00 heroku[web.1]: State changed from starting to crashed 2020-12-27T05:22:41.286778+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=kyunai2.herokuapp.com request_id=cc7a5864-553c-4a66-885f-ce92e04c93a1 fwd="113.153.101.89" dyno= connect= service= status=503 bytes= protocol=https

該当のソースコード

コードを新しくしたので新しく編集します
app.py

from flask import Flask import os app = Flask(__name__) @app.route('/') def index(): return 'hello, world' if __name__ == '__main__': app.run(debug=False, host='0.0.0.0', port=int(os.environ.get('PORT', 5000)))

Procfile

web: gunicorn app:app --log-file=-

requirements.txt

click==7.1.2 Flask==1.1.2 gunicorn==20.0.4 itsdangerous==1.1.0 Jinja2==2.11.2 MarkupSafe==1.1.1 Werkzeug==1.0.1

runtime.txt

python-3.9.0

試したこと

gitに正しくアップロードされているか確認するためにgit cloneを行い、ファイルの比較を行った結果、正しくアップロードできていることが確認できました。
また、herokuのアプリ管理画面でBuild succeededとなっていることは確認できました
補足情報にビルドログを記述しておきます。

procfileを以下のように書き換えて実行もしてみましたが、変わらずエラーが出てしまいました。

web: python app.py

補足情報(FW/ツールのバージョンなど)

VSCode : 1.52.1
※追記
Procfileに問題があることが分かったのですが元の記事のようにしてもエラーが出ます
アプリ側のこの写真のところで何かすることがありますか?
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quickquip

2020/12/24 01:14 編集

> アプリの起動を行うときにエラーが出て 「heroku open を実行したとき」で合っていますか? こういう時「○○コマンドを実行した」「ブラウザでURL○○にアクセスした」「ブラウザでページ上の○○をクリックした」と、他人が分かる表現にした方がいいですよ。 (↑失礼しました。ちゃんと質問に書いてありました) 画面に書いてあることを読んで実行してないですか?
K.K4

2020/12/25 18:37

@quickquip さんありがとうございます 返信が遅くなり申し訳ありません わかりづらい書き方をしてしまいすみませんでした heroku openで実行する以外にもHerokuのアプリのほうにある右上のopen appのほうでも実行を試みましたがエラー表記が出てきました 画面に書いてあることを読んで実行していないですか?なのですが、私自身プログラミング初心者でいたらないところがあるのでもう少し具体的に指摘していただきますと助かります。申し訳ございませんがよろしくお願いします。
quickquip

2020/12/26 00:40 編集

check your log for details. You can do this from the heroku CLI with the command heroku logs --tail とそこに書いてあるのを読んで実行してないですか? ということです。
K.K4

2020/12/26 09:54

ご指摘ありがとうございます heroku logs --tailを実行したので追記しました ご確認お願いします
guest

回答1

0

requirements.txt

gunicorn==20.0.4

が必要では...?

追記

エラーログ拝見しました。

app.run(debug=False, host='0.0.0.0', port=int(os.environ.get('PORT', 5000))) : ^ : IndentationError: expected an indented block

Python

1if __name__ == '__main__': 2 3app.run(debug=False, host='0.0.0.0', port=int(os.environ.get('PORT', 5000)))

この部分のインデントが原因と思います。

Python

1if __name__ == '__main__': 2 app.run(debug=False, host='0.0.0.0', port=int(os.environ.get('PORT', 5000)))

投稿2020/12/25 07:59

編集2020/12/27 06:04
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K.K4

2020/12/25 18:38

回答ありがとうございます! 確認してみます
K.K4

2020/12/26 09:55

gunicorn==20.0.4 を追記しましたが同じエラーが出ました。 その他、コードを少しいじったので投稿を編集しました ご確認いただけると助かります
退会済みユーザー

退会済みユーザー

2020/12/26 13:08

Procfile の記述ミスですね。 ログにgunicornの引数のエラーが出力されています。 元の記事をご確認ください。
K.K4

2020/12/26 14:12

返信ありがとうございます! Procfileを元の記事を参考にして書き直したのですがやはりうまくいきません。 写真を補足情報に追加するのでそちらを見ていただくことは可能でしょうか? 何度も申し訳ありませんがよろしくお願いします。
退会済みユーザー

退会済みユーザー

2020/12/26 22:48

heroku logs --tail の追加をお願いします。
K.K4

2020/12/27 05:38

かしこまりました。 あと、2つ伺いたいことがあります。 1つ目は、元の記事では仮想環境を利用しないと書いてあるのですが私はflaskのインストール等の関係で仮想環境を使用しています。それがエラーの原因ということはありますか? 2つ目は、元の記事でProcfileに使用しているgunicornなのですがwindowsでは非対応という記事を見ました。それもエラーの原因と考えているのですが教えていただけますでしょうか? よろしくお願いします。
K.K4

2020/12/27 05:54

編集した際に一万字を超えたので 2020-12-27T05:22:29.122077+00:00 app[web.1]: の部分をはじめと終わり以外省略いたしました。ご了承ください。
退会済みユーザー

退会済みユーザー

2020/12/27 06:27

ログの更新ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問