목차
1. virtualenv를 통한 개발환경 생성
2. Flask 설치
3. Flask 실행하기
4. dotenv 를 이용한 환경변수 설정
virtualenv 를 통한 개발환경 생성
# flask-example 개발환경 생성
$ virtualenv flask-example --python=python3.9
created virtual environment CPython3.9.13.final.0-64 in 454ms
creator CPython3Posix(dest=/Users/cheolwon/Project/python-project/flask-example, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/cheolwon/Library/Application Support/virtualenv)
added seed packages: pip==22.2.1, setuptools==63.2.0, wheel==0.37.1
activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
# 생성한 개발환경의 Python 활성화하기
$ source flask-example/bin/activate
(flask-example) $
Flask 설치
$ pip install flask
Collecting flask
Using cached Flask-2.1.3-py3-none-any.whl (95 kB)
Collecting itsdangerous>=2.0
Using cached itsdangerous-2.1.2-py3-none-any.whl (15 kB)
Collecting Werkzeug>=2.0
Using cached Werkzeug-2.2.1-py3-none-any.whl (232 kB)
Collecting Jinja2>=3.0
Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting importlib-metadata>=3.6.0
Using cached importlib_metadata-4.12.0-py3-none-any.whl (21 kB)
Collecting click>=8.0
Using cached click-8.1.3-py3-none-any.whl (96 kB)
Collecting zipp>=0.5
Using cached zipp-3.8.1-py3-none-any.whl (5.6 kB)
Collecting MarkupSafe>=2.0
Using cached MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl (13 kB)
Installing collected packages: zipp, MarkupSafe, itsdangerous, click, Werkzeug, Jinja2, importlib-metadata, flask
Successfully installed Jinja2-3.1.2 MarkupSafe-2.1.1 Werkzeug-2.2.1 click-8.1.3 flask-2.1.3 importlib-metadata-4.12.0 itsdangerous-2.1.2 zipp-3.8.1
Flask 실행하기
아래와 같이 기본 실행코드를 작성합니다.
# app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)
해당 코드를 실행합니다.
$ python app.py
* Serving Flask app 'app' (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: on
* Running on http://127.0.0.1:5000 (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 140-890-076
브라우저를 통해 http://127.0.0.1:5000 포트를 접근하고 Hello, World 페이지가 표기된다면 정상 실행된 것입니다.
dotenv 를 이용한 환경변수 설정
dotenv 는 언어와 무관하게 널리 사용되는 환경변수 관리 라이브러리이다.
Python 에서도 python-dotenv 라이브러리가 존재하며, flask 에서 또한 python-dotenv 가 설치되어 있다면 .flaskenv 파일을 생성하여 환경변수를 관리 할 수 있다.
# python-dotenv 설치
$ pip install python-dotenv
위와 같이 python-dotenv 를 를 설치하고, 프로젝트 root 에서 .flaskenv 파일을 생성 후 환경변수를 등록한다.
# .flaskenv
FLASK_APP=app.py
FLASK_ENV=development #(or production)
위와 같이 2가지 절차를 통해 환경변수를 등록할 수 있으며, 해당 환경변수는 Flask 앱 실행시 자동으로 바인딩 된다.
'Launguage > Python' 카테고리의 다른 글
[Python][Flask] 02. Route 구조설계 - Restx (0) | 2022.08.13 |
---|---|
[Python][Flask] 02. Route 구조설계 - Blueprint (0) | 2022.08.13 |
[Python][Flask] 01. 기본 라우트 & 순환참조 & Blueprint (0) | 2022.07.31 |
[Python][기본 02] virtualenv 를 통한 개발환경 구성 (0) | 2022.07.30 |
[Python][기본 01] Mac 에 Python 설치하기 (0) | 2022.07.30 |