2
3

More than 3 years have passed since last update.

flaskでhello worldができないときの対処

Last updated at Posted at 2021-05-15

flaskでhello worldするまでのメモです。

python hello.pyでの実行で不具合

下記のコードが突然動かなくなりました。

hello.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
    return "Hello, World!"

if __name__ == '__main__':
    #app.run(host='0.0.0.0',port=8000)
    app.run(host='0.0.0.0')
    #app.run()

実行コマンド

コマンドライン.
(pyb) $ python hello.py

いままで実行すると、ブラウザで見れていたのですが
突然、不具合を起こしました。
まだhelloworldとかコピペしかしてないのに…。

ググりながら、
0.0.0.0を127.0.0.1にしたり
ポートを8000にしましたが、
ダメでした。

image.png

ただ実行はされているらしい

curlでhtmlの出力を確認できるらしく、
してみるとプログラムは実行されており出力はあるようでした。

コマンドライン.
(base) wsl_username@DESKTOP-N1RJB3Q:/mnt/c/Users/winUserName$ curl http://localhost:5000/
Hello, World!

ポートやアドレスの設定は詳しくないので
そこに異常があると先行きが怪しくなってくる…。

python -m flask runで実行

マイクロソフトのサイトで確認したコマンド。

適当なディレクトリを作成し、
そのなかにhello.pyを移動させ
名前をapp.pyに変更します。

ディレクトリ構成.
example(directory)
  |
  |___app.py

そのうえで、下記コマンドで実行。

コマンドライン.
(pyb) $ python3 -m flask run
実行.
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [15/May/2021 21:35:05] "GET / HTTP/1.1" 200 -

image.png

きちんと表示されました。

ですが突然、python ファイル名.py
でダメになったのかは不明です。

FLASK_APP=hello.py FLASK_ENV=development flask runで実行できる

環境変数FLASK_APPにファイル名を指定することで
解決しました。

コマンドプロンプト.
$ FLASK_APP=hello.py FLASK_ENV=development flask run
コマンドプロンプト.
 * Serving Flask app "hello.py" (lazy loading)
 * Environment: development
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with inotify reloader
 * Debugger is active!
 * Debugger PIN: 169-317-205
127.0.0.1 - - [16/May/2021 12:40:40] "GET / HTTP/1.1" 200 -

image.png

参考:

https://qiita.com/miroha-eng/items/cf446a3a012c32a6d03c
マイクロソフト
https://docs.microsoft.com/ja-jp/windows/python/web-frameworks

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3