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

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

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

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

Python 3.x

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

Q&A

解決済

2回答

1971閲覧

pythonに慣れていない人にどうpythonプログラム動いているかを説明すればよいでしょうか?

sequelanonymous

総合スコア123

Flask

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

Python 3.x

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

0グッド

1クリップ

投稿2019/03/14 14:53

pythonに慣れていない人にどういう仕組でこのプログラム動いているの?と言われなかなか答えられずにいます。

私の回答は、以下のコードで環境変数のFLASK_APPにwsgi.pyに設定するflask側がそれを読み取り、flaskコマンドがつかえるようになる、__main__にwsgi.pyがはいってる、という回答をしました。

しかし、それでも相手は納得せず、私自身もモヤモヤしています。以下のコードをどう納得できるようにわかりやすく説明すべきか、なにか案があればご教示頂けませんでしょうか?

python

1$ export FLASK_APP=wsgi.py 2$ export FLASK_ENV=local 3$ flask run [--host=0.0.0.0]

特に以下のコマンドの説明は悩みどころです。

$ FLASK_APP=wsgi.py flask db init

python

1import os 2from xxx import create_app 3 4if os.environ.get("DEBUG"): 5 logging.basicConfig(level=logging.DEBUG) 6config = os.environ.get("CONFIG", "local") 7app = create_app(config) 8 9if __name__ == '__main__': 10 app.run(host='127.0.0.1', port=8080, debug=True, threaded=True) 11

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

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

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

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

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

otn

2019/03/14 14:57

状況が分かりません。 他の言語のプログラムを読めるが、Pythonを知らない人という意味でしょうか? それとも全くプログラムが読み書きできない人でしょうか?
t_obara

2019/03/15 04:18

説明相手の属性情報なしに、相手にとってわかりやすい説明をと言われて説明できるとお考えでしょうか? あなたが説明しようとした際に、説明相手はどのような人でどのような背景を持ち、関連情報についてどこまで知っていると認識したのかを明示的にではないにしても考えているはずです。貴殿が認識したそれらの情報を提示していただくことが適切な回答を得る近道ではないでしょうか。 また、説明した際に、相手がどのような反応をしたのかもご提示されるとよろしいかと。
guest

回答2

0

ベストアンサー

「説明」が必要であれば、フレームワークの実装を読むしかないと思います。

「慣れていない人」には酷なので、そういうお約束になっているということにしても別にいいと思います。

投稿2019/03/14 14:56

編集2019/03/14 14:57
hayataka2049

総合スコア30933

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

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

sequelanonymous

2019/03/14 15:33

ありがとうございます。しかし、質問に対してコード読め、ググれ、おまじない、っていう回答だとエンジニアとしての責務を果たすことにはならないと個人的には思っています。エンジニアの責務がエンジニアリングを使って問題解決をすることだとしたら、上記の回答だとクエッションに対して直接的な問題解決をしていないことになるので。しゃくに触ってしまったらすみません、あくまで個人的ないけんです。
sequelanonymous

2019/03/14 15:35

フレームワークを自分で読んでみます
hayataka2049

2019/03/14 16:07

これは私の個人的な意見ですが、「納得できるようにわかりやすく説明」という要件がそもそもアバウトすぎるので、どういう説明であれば納得してもらえるのかというところを先に詰めないと問題解決できないと思いました。
hayataka2049

2019/03/14 16:08

どんな説明にしろ説明する人が十全に理解していないと厳しいものがあるので、質問者さんが読んで質問者さんの理解が深まるなら読むこと自体は良いと思います。
sequelanonymous

2019/03/15 08:34

> 「納得できるようにわかりやすく説明」という要件がそもそもアバウトすぎる 確かにそうですね。何がわからないかをもっと具体的に聞くということもありかもしれないと思いました。 ただ、関係性上聞きづらいです...そこを突破して聞くべきなんですかね。その辺のアバウトを汲み取ってやってくれるエンジニアを好む非エンジニアの人が世の中には多いように感じています。特に、マネジメント層や仕事の依頼主など。
guest

0

上手く説明できない時は往々にして自分の理解が足りないんです。「FLASK_APPとは?」という問いにどれほど簡潔かつ明瞭に回答できますでしょうか?

  1. FLASK_APPとは、環境変数
  2. FLASK_APPとは、flaskアプリを指定する方法
  3. FLASK_APPとは、魔法のおまじない

上記は私の思い付きですが、どれも問いの本質をついていない、なんだかよく分からない回答だと感じると思います。

で、以下は公式ドキュメントを参照した後の回答です。

For the flask script to work, an application needs to be discovered. This is achieved by exporting the FLASK_APP environment variable.

  • FLASK_APPとは、flaskに(あなたの or 私の)アプリケーションを見つけてもらうための環境変数

どうでしょうか?こんな感じで説明する事柄に関する理解度が高ければ、多分上手く説明できるようになるんじゃないかと思います。

投稿2019/03/14 15:10

YouheiSakurai

総合スコア6142

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

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

sequelanonymous

2019/03/14 15:26

ありがとうございます、私もそういう説明をしました。 おそらく、疑問に思っているのは、環境変数を設定してなぜ、いきなりflask runって言うコマンドがでてくるのか?という点となぜ、それでapp.runで起動できるのか?環境変数とappの繋がりはどこにあるのか? flask db initコマンドも同様にそういった疑問点をもっているように感じています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問