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

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

ただいまの
回答率

90.35%

  • Python 3.x

    11181questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Vagrant

    1449questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

  • Heroku

    1333questions

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

  • Flask

    395questions

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

VagrantでflaskをherokuにアップするもApplication error

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 998

aoki_monpro

score 41

こちらの記事を参考に
https://qiita.com/syachihoko/items/15b482505c588c4d163a 

Vagrant内にvirtualenvをインストールし、
その中で初歩的なflaskアプリを作成しherokuにアップした所
Application errorが発生。

ポート変更前はローカルで問題なく表示されておりました。

知見のある方、ご意見をいただければ幸いです。

web: gunicorn app:app
#requirements.txt
click==6.7
Flask==1.0.2
gem==0.1.12
gunicorn==19.9.0
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
six==1.11.0
Werkzeug==0.14.1
#app.py
import os
from flasknote3 import app

app.run(host='0.0.0.0', port=int(os.environ.get("PORT", 5000)))
#flasknote3/__init__.py

from flask import Flask

app = Flask(__name__)

import flasknote3.views
#flasknote3/views.py
from flask import render_template, url_for
from flasknote3 import app

@app.route('/')
def greeting():
        return render_template('index.html', message='Hello world!')
Heroku logs --tail


2018-09-13T08:17:07.789318+00:00 app[web.1]: OSError: [Errno 98] Address already in use
2018-09-13T08:17:07.789728+00:00 app[web.1]: [2018-09-13 08:17:07 +0000] [8] [ERROR] Exception in worker process
2018-09-13T08:17:07.789731+00:00 app[web.1]: Traceback (most recent call last):
2018-09-13T08:17:07.789758+00:00 app[web.1]:   File "/app/app.py", line 4, in <module>
2018-09-13T08:17:07.789759+00:00 app[web.1]:     app.run(host='0.0.0.0', port=int(os.environ.get("PORT", 5000)))
2018-09-13T08:17:07.789761+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 943, in run
2018-09-13T08:17:07.789763+00:00 app[web.1]:     run_simple(host, port, self, **options)
2018-09-13T08:17:07.789767+00:00 app[web.1]:     inner()
2018-09-13T08:17:07.789765+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/werkzeug/serving.py", line 814, in run_simple
2018-09-13T08:17:07.789768+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/werkzeug/serving.py", line 774, in inner
2018-09-13T08:17:07.789770+00:00 app[web.1]:     fd=fd)
2018-09-13T08:17:07.789772+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/werkzeug/serving.py", line 660, in make_server
2018-09-13T08:17:07.789773+00:00 app[web.1]:     passthrough_errors, ssl_context, fd=fd)
2018-09-13T08:17:07.789775+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/werkzeug/serving.py", line 577, in __init__
2018-09-13T08:17:07.789777+00:00 app[web.1]:     self.address_family), handler)
2018-09-13T08:17:07.789779+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/socketserver.py", line 453, in __init__
2018-09-13T08:17:07.789780+00:00 app[web.1]:     self.server_bind()
2018-09-13T08:17:07.789782+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/http/server.py", line 136, in server_bind
2018-09-13T08:17:07.789784+00:00 app[web.1]:     socketserver.TCPServer.server_bind(self)
2018-09-13T08:17:07.789786+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/socketserver.py", line 467, in server_bind
2018-09-13T08:17:07.789787+00:00 app[web.1]:     self.socket.bind(self.server_address)
2018-09-13T08:17:07.789828+00:00 app[web.1]: OSError: [Errno 98] Address already in use
2018-09-13T08:17:07.790309+00:00 app[web.1]: [2018-09-13 08:17:07 +0000] [9] [INFO] Worker exiting (pid: 9)
2018-09-13T08:17:07.790602+00:00 app[web.1]: [2018-09-13 08:17:07 +0000] [8] [INFO] Worker exiting (pid: 8)
2018-09-13T08:17:07.857721+00:00 app[web.1]: Traceback (most recent call last):
2018-09-13T08:17:07.858127+00:00 app[web.1]:     self.sleep()
2018-09-13T08:17:07.858130+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 360, in sleep
2018-09-13T08:17:07.858511+00:00 app[web.1]:     ready = select.select([self.PIPE[0]], [], [], 1.0)
2018-09-13T08:17:07.858514+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 245, in handle_chld
2018-09-13T08:17:07.858756+00:00 app[web.1]:     self.reap_workers()
2018-09-13T08:17:07.857731+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 210, in run
2018-09-13T08:17:07.858762+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 525, in reap_workers
2018-09-13T08:17:07.859156+00:00 app[web.1]:     raise HaltServer(reason, self.WORKER_BOOT_ERROR)
2018-09-13T08:17:07.859210+00:00 app[web.1]: gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
2018-09-13T08:17:07.859212+00:00 app[web.1]:
2018-09-13T08:17:07.859214+00:00 app[web.1]: During handling of the above exception, another exception occurred:
2018-09-13T08:17:07.859216+00:00 app[web.1]:
2018-09-13T08:17:07.859235+00:00 app[web.1]: Traceback (most recent call last):
2018-09-13T08:17:07.859240+00:00 app[web.1]:   File "/app/.heroku/python/bin/gunicorn", line 11, in <module>
2018-09-13T08:17:07.859415+00:00 app[web.1]:     sys.exit(run())
2018-09-13T08:17:07.859417+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 61, in run
2018-09-13T08:17:07.859603+00:00 app[web.1]:     WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
2018-09-13T08:17:07.859606+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/base.py", line 223, in run
2018-09-13T08:17:07.859839+00:00 app[web.1]:     super(Application, self).run()
2018-09-13T08:17:07.859878+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/base.py", line 72, in run
2018-09-13T08:17:07.860068+00:00 app[web.1]:     Arbiter(self).run()
2018-09-13T08:17:07.860106+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 232, in run
2018-09-13T08:17:07.860387+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 345, in halt
2018-09-13T08:17:07.860351+00:00 app[web.1]:     self.halt(reason=inst.reason, exit_status=inst.exit_status)
2018-09-13T08:17:07.860700+00:00 app[web.1]:     self.stop()
2018-09-13T08:17:07.860741+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 390, in stop
2018-09-13T08:17:07.861083+00:00 app[web.1]:     self.kill_workers(sig)
2018-09-13T08:17:07.861120+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 626, in kill_workers
2018-09-13T08:17:07.861577+00:00 app[web.1]:     self.kill_worker(pid, sig)
2018-09-13T08:17:07.861615+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 636, in kill_worker
2018-09-13T08:17:07.862076+00:00 app[web.1]:     os.kill(pid, sig)
2018-09-13T08:17:07.862114+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 245, in handle_chld
2018-09-13T08:17:07.862396+00:00 app[web.1]:     self.reap_workers()
2018-09-13T08:17:07.862433+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 525, in reap_workers
2018-09-13T08:17:07.862805+00:00 app[web.1]:     raise HaltServer(reason, self.WORKER_BOOT_ERROR)
2018-09-13T08:17:07.862856+00:00 app[web.1]: gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
2018-09-13T08:17:07.950660+00:00 heroku[web.1]: Process exited with status 1
2018-09-13T08:17:07.967382+00:00 heroku[web.1]: State changed from up to crashed
2018-09-13T08:17:08.000000+00:00 app[api]: Build succeeded
2018-09-13T08:17:13.518941+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=myflaskapp4.herokuapp.com request_id=ac704eb6-31e6-4a84-8490-af0e1bba58ef fwd="58.3.213.215" dyno= connect= service= status=503 bytes= protocol=https
2018-09-13T08:17:14.054286+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=myflaskapp4.herokuapp.com request_id=c4eea809-d70c-4d71-b035-e8d09a7efe70 fwd="58.3.213.215" dyno= connect= service= status=503 bytes= protocol=https
2018-09-13T08:20:33.571414+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=myflaskapp4.herokuapp.com request_id=198dcd9d-4240-41fd-9e27-15c0f3f5b287 fwd="58.3.213.215" dyno= connect= service= status=503 bytes= protocol=https
2018-09-13T08:20:34.082401+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=myflaskapp4.herokuapp.com request_id=c33a6eec-5bfd-4bf8-b17a-efc2da22aeab fwd="58.3.213.215" dyno= connect= service= status=503 bytes= protocol=https
2018-09-13T08:20:39.815315+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=myflaskapp4.herokuapp.com request_id=deac8c79-0622-45df-b912-a15715bbd5f1 fwd="58.3.213.215" dyno= connect= service= status=503 bytes= protocol=https
2018-09-13T08:20:40.674426+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=myflaskapp4.herokuapp.com request_id=2b612a23-c721-4052-b754-70a5348ae3fc fwd="58.3.213.215" dyno= connect= service= status=503 bytes= protocol=https
2018-09-13T08:24:03.577086+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=myflaskapp4.herokuapp.com request_id=6ab3858a-4b37-41ca-a7de-b571d23fe8c6 fwd="58.3.213.215" dyno= connect= service= status=503 bytes= protocol=https
2018-09-13T08:24:04.089941+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=myflaskapp4.herokuapp.com request_id=e3f74fba-e603-4255-ba53-4bc3f12765d1 fwd="58.3.213.215" dyno= connect= service= status=503 bytes= protocol=https


(文字制限のため上の方のログはカットしています)

初歩的なことだと思うのですが検討つかず・・よろしくお願いいたします。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • dyoshikawa

    2018/09/13 18:18 編集

    > ポート変更前はローカルで問題なく表示されておりました。 ポート変更とはどういうことですか?また、現状はローカル動作でも問題があるということですか?

    キャンセル

  • aoki_monpro

    2018/09/14 09:33

    ググってteratailのどこかに記載があったのですが、参照先がたしかこのページで、flaskをherokuにアップするならport変更と記載があったので試してみたのです・・ https://stackoverflow.com/questions/13714205/deploying-flask-app-to-heroku

    キャンセル

  • dyoshikawa

    2018/09/14 11:19

    ローカル開発環境の動作はどうですか?

    キャンセル

  • aoki_monpro

    2018/09/14 12:57 編集

    こちらの記事を参考に作成しまして、https://qiita.com/syachihoko/items/15b482505c588c4d163a    app.pyのポートをこちらに変更後、python app.py でローカルなら問題なく表示されました。 app.run(host='0.0.0.0', port=3050, debug=True)  debug=Falseに変えてもNGでした。 むむむ。。

    キャンセル

回答 2

check解決した方法

0

自己解決しました、
Procfile で app:app と記載していたのですが、左側のappはアプリ名が記載必要で、今回の場合は flaskapp3:app とすることで無事表示されました。お騒がせいたしました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

OSError: [Errno 98] Address already in use

https://sugiyamayoshiaki.jp/flask%E3%81%A7-oserror-errno-48-address-already-in-use-%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%9F%E6%99%82%E3%81%AE%E5%AF%BE%E5%87%A6%E6%B3%95%E3%80%82/
https://qiita.com/ringCurrent/items/2413c795372baa7b479d

このへんと同じじゃないでしょうか?
heroku run bash でherokuサーバのbashを起動して上の記事にあるプロセス終了を試みて下さい。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/09/14 10:08

    試してみたのですが変わらずでした、もうちょい調べてみます。

    キャンセル

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

  • ただいまの回答率 90.35%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • Python 3.x

    11181questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Vagrant

    1449questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

  • Heroku

    1333questions

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

  • Flask

    395questions

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