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

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

ただいまの
回答率

90.51%

  • Python 3.x

    8901questions

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

  • Flask

    307questions

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

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

解決済

回答 2

投稿

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

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

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

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

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


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

$ FLASK_APP=wsgi.py flask db init
import os
from xxx import create_app

if os.environ.get("DEBUG"):
    logging.basicConfig(level=logging.DEBUG)
config = os.environ.get("CONFIG", "local")
app = create_app(config)

if __name__ == '__main__':
    app.run(host='127.0.0.1', port=8080, debug=True, threaded=True)
  • 気になる質問をクリップする

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

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

  • otn

    2019/03/14 23:57

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

    キャンセル

  • sequelanonymous

    2019/03/15 00:23

    pythonを知らない人です。

    キャンセル

  • t_obara

    2019/03/15 13:18

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

    キャンセル

回答 2

checkベストアンサー

+2

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

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

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/03/15 00:33

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

    キャンセル

  • 2019/03/15 00:35

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

    キャンセル

  • 2019/03/15 01:07

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

    キャンセル

  • 2019/03/15 01:08

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

    キャンセル

  • 2019/03/15 17:34

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

    キャンセル

+1

上手く説明できない時は往々にして自分の理解が足りないんです。「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/15 00:26

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

    キャンセル

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

  • Python 3.x

    8901questions

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

  • Flask

    307questions

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