Python3 및 Flask 설치 [환경 구축 요약]

Python의 Flask를 처음부터 구축할 기회가 있었으므로, 환경 구축의 메모를 남겨 둔다.

pyenv를 사용한 Python의 설치 등은 이하에서 행하고 있었으므로, 최초로 그것을 하고 있지 않은 사람은 이하를 우선은 실시한다.
Python 환경 구축 mac windows

virtualenv 설치



위의 작업이 끝나면 virtualenv 설치.

※Virtualenv란?
Virtualenv는 Shell에서 프로젝트별로 개별 환경을 구축할 수 있는 멋진 도구입니다.
pip install virtualenv

위에서 움직이지 않는 사람은 pip3로 실행해보십시오. 자신은 별칭 설정을 하고 있으므로 pip 로 움직입니다.
alias pip=pip3

flask 애플리케이션 작성



적절한 작업 디렉토리로 이동하여 환경을 만듭니다.

명령은 virtualenv {app_name}
cd /Work/flask_app/

$ virtualenv testapp
Using base prefix '/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7'
New python executable in /Work/flask_app/testapp/bin/python3.7
Also creating executable in /Users/yoshi/Work/sample_python/testapp/bin/python
Installing setuptools, pip, wheel...
done.

완료되면 아래와 같이 지정한 {app_name} 로 디렉토리(프로젝트?)가 작성된다.
$ ll
total 0
drwxr-xr-x   6 ys  staff  192  1 16 11:02 testapp/

내용은 이런 느낌
$ ll testapp/
total 0
drwxr-xr-x   6 ys  staff  192  1 16 11:02 ./
drwxr-xr-x   4 ys  staff  128  1 16 11:02 ../
lrwxr-xr-x   1 ys  staff   80  1 16 11:02 .Python@ -> /usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/Python
drwxr-xr-x  18 ys  staff  576  1 16 11:02 bin/
drwxr-xr-x   3 ys  staff   96  1 16 11:02 include/
drwxr-xr-x   3 ys  staff   96  1 16 11:02 lib/

이 환경을 사용하도록 활성화해야 합니다. OS X와 ​​Linux에서는 다음 명령을 실행합니다.
$ cd testapp
$ . bin/activate

# 上記で動かなかったら
$ source bin/activate

(testapp) adminnoMacBook-Pro-4:testapp ys$

잘 부팅 할 수 있으면 ({app_name}) 터미널에 출현하여 실행 가능한 상태가됩니다.

Flask 설치


$ pip install Flask

Collecting Flask
  Downloading https://files.pythonhosted.org/packages/9b/93/628509b8d5dc749656a9641f4caf13540e2cdec85276964ff8f43bbb1d3b/Flask-1.1.1-py2.py3-none-any.whl (94kB)
     |████████████████████████████████| 102kB 1.8MB/s
Collecting Werkzeug>=0.15
  Downloading https://files.pythonhosted.org/packages/ce/42/3aeda98f96e85fd26180534d36570e4d18108d62ae36f87694b476b83d6f/Werkzeug-0.16.0-py2.py3-none-any.whl (327kB)
     |████████████████████████████████| 327kB 1.9MB/s
Collecting itsdangerous>=0.24
  Downloading https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl
Collecting click>=5.1
  Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)
     |████████████████████████████████| 81kB 2.4MB/s
Collecting Jinja2>=2.10.1
  Downloading https://files.pythonhosted.org/packages/65/e0/eb35e762802015cab1ccee04e8a277b03f1d8e53da3ec3106882ec42558b/Jinja2-2.10.3-py2.py3-none-any.whl (125kB)
     |████████████████████████████████| 133kB 3.4MB/s
Collecting MarkupSafe>=0.23
  Downloading https://files.pythonhosted.org/packages/ce/c6/f000f1af136ef74e4a95e33785921c73595c5390403f102e9b231b065b7a/MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl
Installing collected packages: Werkzeug, itsdangerous, click, MarkupSafe, Jinja2, Flask
Successfully installed Flask-1.1.1 Jinja2-2.10.3 MarkupSafe-1.1.1 Werkzeug-0.16.0 click-7.0 itsdangerous-1.1.0

무사히 완료되었는지 확인.
$ flask --version
Python 3.7.6
Flask 1.1.1
Werkzeug 0.16.0

Flask상에서 동작 확인을 해 본다



공식 문서에서 샘플 프로그램을 빌려.
빠른 시작¶
샘플 파이썬 파일은 {app_name}の直下で大丈夫。
sample_flask.py
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return "Hello Flask"

if __name__ == '__main__':
    app.run()
python sample_flask.py

움직일까 ....

움직였다!
$ python sample_flask.py
 * Serving Flask app "test_flask" (lazy loading)
 * 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 - - [16/Jan/2020 11:33:03] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [16/Jan/2020 11:33:03] "GET /favicon.ico HTTP/1.1" 404 -

제대로 TOP 페이지에의 액세스가 200가 되어 있다. 브라우저에서 확인해봐도 제대로 표시되었다.



다만, 왠지 콘솔을 보면* Environment: production를 보고 있다. 개발 환경이므로 이대로 프로덕션용으로 사용하지 말아 다음과 같이 경고가 나와 있습니다. (현상은 문제 없지만WARNING: This is a development server. Do not use it in a production deployment.
신경이 쓰이는 사람은 이하의 커멘드를 실행.
$ export FLASK_APP=app_name
$ export FLASK_ENV=development

(testapp) ys $ flask run

끝.

좋은 웹페이지 즐겨찾기