๊ธฐ๋ณธ ์ฝ˜ํ…์ธ ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

[ubuntu] FLASK_APP

[ubuntu] FLASK_APP

Development/Debugging

๐Ÿž

FLASK_ENV=development FLASK_APP = app.py flask run zsh: command not found: FLASK_APP

✔️

FLASK_ENV=development FLASK_APP=app.py flask run

๋„์–ด์“ฐ๊ธฐ๋ฅผ ํ•ด์„œ ์ €๋Ÿฐ ์˜ค๋ฅ˜๋ฅผ ์ถœ๋ ฅํ• ์ˆ˜๋„ ์žˆ๊ตฌ๋‚˜ ๐Ÿ˜ฒ

์ฐธ๊ณ  : 108p์—์„œ FLASK๊ฐ€ FKAS๋กœ ์˜คํƒ€๋‚˜์žˆ๋‹ค.

from http://hee-stories.tistory.com/18 by ccl(A) rewrite - 2020-03-24 17:20:11

๋Œ“๊ธ€

์ด ๋ธ”๋กœ๊ทธ์˜ ์ธ๊ธฐ ๊ฒŒ์‹œ๋ฌผ

์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ(Spring Framework)๋ž€?

์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ(Spring Framework)๋ž€? "์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋А ์Šคํ”„๋ง ์›น ํ”„๋กœ์ ํŠธ"์ฑ…์„ ๊ฐœ์ธ ๊ณต๋ถ€ ํ›„ ์ž๋ฃŒ๋ฅผ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์ด๊ธฐ์— ๋‚ด์šฉ ์ƒ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. '์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ'๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ง ํ•  ์ˆ˜ ์žˆ๊ณ , ํ•ด๋‹น ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํŠน์ง• ๋ฐ ์žฅ๋‹จ์ ์„ ์„ค๋ช…ํ•  ์ˆ˜ ์ž‡๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœํ•ฉ๋‹ˆ๋‹ค. 1. ํ”„๋ ˆ์ž„์›Œํฌ๋ž€? 2. ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ "๋ผˆ๋Œ€๋‚˜ ๊ทผ๊ฐ„์„ ์ด๋ฃจ๋Š” ์ฝ”๋“œ๋“ค์˜ ๋ฌถ์Œ" Spring(Java์˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ), Django(Python์˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ), Flask(Python์˜ ๋งˆ์ดํฌ๋กœ ์›น ํ”„๋ ˆ์ž„์›Œํฌ), Ruby on rails(Ruby์˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ), .NET Framework, Node.js(Express.js ํ”„๋ ˆ์ž„์›Œํฌ) ๋“ฑ๋“ฑ. ํ”„๋ ˆ์ž„์›Œ ์›Œํฌ ์ข…๋ฅ˜ : 3. ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค. 2. ์ผ์ •ํ•œ ํ’ˆ์งˆ์ด ๋ณด์žฅ๋œ ๊ฒฐ๊ณผ๋ฌผ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. 1. ์‹ค๋ ฅ์ด ๋ถ€์กฑํ•œ ๊ฐœ๋ฐœ์ž๋ผ ํ—ˆ๋‹ค๋Ÿฌ๋„ ๋ฐ˜์ฏค ์™„์„ฑํ•œ ์ƒํƒœ์—์„œ ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ์กฐ๋ฆฝํ•˜๋Š” ํ˜•ํƒœ์˜ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํฌ๊ฒŒ ๋‹ค์Œ 3๊ฐ€์ง€์˜ ์žฅ์  ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ ์ด์šฉ ํ•œ๋‹ค๋Š” ์˜๋ฏธ : ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋ณธ ํ๋ฆ„์ด๋‚˜ ๊ตฌ์กฐ๋ฅผ ์ •ํ•˜๊ณ , ๋ชจ๋“  ํŒ€์›์ด ์ด ๊ตฌ์กฐ์— ์ž์‹ ์˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ฐœ ํ•œ๋‹ค. => ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ์˜ ๊ฒฐ๊ณผ๋ฌผ์ด 'ํ”„๋ ˆ์ž„์›Œํฌ' ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ๊ฐ ๊ฐœ๊ฐœ์ธ์˜ ๋Šฅ๋ ฅ์ฐจ์ด๊ฐ€ ํฌ๊ณ , ๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ์ž ๊ตฌ์„ฑ์— ๋”ฐ๋ผ์„œ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฐ๊ณผ ์ฐจ์ด๊ฐ€ ํฝ๋‹ˆ๋‹ค. 2. ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ(Spring Framework) ์ž๋ฐ” ํ”Œ๋žซํผ์„ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์Šคํ”„๋ง์˜ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์˜ ํฌ์šฉ ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์‹œ๋งํ•ด ๊ธฐ๋ณธ ๋ผˆ๋Œ€๋ฅผ ํ”๋“ค์ง€ ์•Š๊ณ , ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ˜ผ์šฉํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ๋Œ€ํ•œ๋ฏผ๊ตญ ๊ณต๊ณต๊ธฐ๊ด€์˜ ์›น ์„œ๋น„์Šค ๊ฐœ๋ฐœ ์‹œ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ๋Š” ์ „์ž์ •๋ถ€ ํ‘œ์ค€ํ”„๋ ˆ์ž„์›Œํฌ ์ด๋‹ค. ์—ฌ๋Ÿฌ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค ์ค‘ ์ž๋ฐ”(JAV...

Dummy to resolve the flask problems

Dummy to resolve the flask problems This post is about flask problems that I struggled with. Hope you this is useful things when you taste it. Issue : How to deploy a flask application on Apache2 Resolve : As you know, flask is a micro framework. It can be handled on Apache2 using WSGI module. See the reference. Reference: https://www.digitalocean.com/community/tutorials/how-to-deploy-a-flask-application-on-an-ubuntu-vps Issue : Flask caused ERR_CONNECTION_ABORTED on POST Resolve : There are lots issues for this problem in principle. It caused when browser keep sending some buffer but server doesn't want to receive. My case is like this (submit.html) (submit.py) @bp.route('/submit', methods=["GET", "POST"]) def submit(): return render_template("submit.html") This kinda skel code to explain this. In flask case, this can be caused when it runs as develop server such as run...

[GCP] Flask๋กœ TF 2.0 MNIST ๋ชจ๋ธ ์„œ๋น™ํ•˜๊ธฐ

[GCP] Flask๋กœ TF 2.0 MNIST ๋ชจ๋ธ ์„œ๋น™ํ•˜๊ธฐ Google Cloud Platform ์šฐ์„  TensorFlow 2.0์„ ์„ค์น˜ํ•˜์ž. ๋จธ์‹ ์— ์ง์ ‘ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ๋„์ปค๋ฅผ ๋‹ค์šด๋ฐ›์•„ ์‚ฌ์šฉ, ํ˜น์€ ๊ตฌ๊ธ€ colab์„ ํ™œ์šฉ( https://www.tensorflow.org/install)ํ•˜๋ฉด ๋˜๋Š”๋ฐ, TensorFlow์—์„œ ๊ถŒ์žฅํ•˜๋Š”๋Œ€๋กœ ๋จธ์‹ ์— VirtualEnv๋ฅผ ํ™œ์šฉํ•ด์„œ ์„ค์น˜ํ•˜์ž ( https://www.tensorflow.org/install/pip). ์„ค์น˜ํ•˜๋Š” ๊น€์— Flask๋„ ๊ฐ™์ด ์„ค์น˜ํ•ด๋ณด์ž. Compute Machine ํ•˜๋‚˜๋ฅผ ์ƒ์„ฑ(ํฌ๊ฒŒ ๋ถ€๋‹ด ์—†๋Š” ์˜ˆ์ œ๋ผ g1 instance)ํ•˜๊ณ , SSH๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ์‹คํ–‰ํ•˜๋ฉด ๋œ๋‹ค. $ sudo apt update $ sudo apt install python3-dev python3-pip $ sudo pip3 install -U virtualenv # ๊ตณ์ด system-wide๋กœ flask๋ฅผ ์„ค์น˜ํ•  ํ•„์š”๋Š” ์—†์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ํ–ˆ๋‹ค. $ sudo pip3 install flask $ sudo pip3 install flask-restful # virtualenv ํ™˜๊ฒฝ์—์„œ tensorflow 2.0 ์„ค์น˜ $ virtualenv --system-site-packages -p python3 ./venv $ source ./venv/bin/activate # sh, bash, ksh, or zsh (venv) $ pip install --upgrade pip (venv) $ pip install --upgrade tensorflow ๋ชจ๋“  ํ™˜๊ฒฝ์ด ๋งˆ๋ จ๋˜์—ˆ์œผ๋‹ˆ, ์šฐ์„  MNIST ๋ชจ๋ธ์„ TF 2.0์œผ๋กœ Trainingํ•˜์—ฌ ๋ชจ๋ธ์„ Save ํ•ด ๋‘์ž(tf_mnist_train.py). ๋Œ€๋žต 99% ์ด์ƒ ์ •ํ™•๋„๊ฐ€ ๋‚˜์˜จ๋‹ค! import tensorflow as tf import numpy as np # ํ•™์Šต ๋ฐ์ดํ„ฐ load ((train_data, train_label), (eval_data, eval_label)) = tf....