Flask - Intro

황인용·2020년 1월 29일
0

Flask

목록 보기
1/13

Flask(플라스크)

image.png

Flask(플라스크)는 파이썬으로 웹 어플리케이션(web application)을 구현할 때 사용되는 프레임워크중 하나이다.

Flask홈페이지(http://flask.pocoo.org/)에서 나오는 공식적인 설명은 "micro web framework"이다. 즉, 군더더기 없는, 아주 가벼운 웹 프레임워크라고 소개한다.

파이썬 웹 프로그래밍 프레임워크 중 잘 알려진 것이 django(장고)와 Flask이다. Django는 여러 모듈과 기능들을 제공하기 때문에 프레임워크가 무겁고, 학습 곡선(learning curve)이 높을 수 있는 반면, flask는 비교적 쉽게 배울수 있고 상대적으로 가볍다.

Flask 준비

개발 환경 구축

  • Django - 웹 개발 준비 에서 구축해봤듯이 miniconda로 가상환경 패케지를 global에서 설치 한다.

  • 파이썬 기반 개발 가상 환경을 만들어서 개발 환경을 구축한다.

(base) $ conda create --name develop python=3.7
Fetchin package metadata...............
Solvin package specifications: .

Package plan for installation in environment /home/inyong/miniconda3/envs/develop:

The following NEW packages will be INSTALLED:

	ca-certificates: 2018.03.07-0
    certifi:		 2019.0.24-py37_1
    libcxx:			 4.0.1-h579ed51_0
    ...
    ...

Proceed ([y]/n)? y

#
# To activate this environment, use:
# >  source avtivate develop
#
# To deactivate an activa environment, use:
# > source deactivate
#
  • 파이썬 가상 환경이 설치 완료되었으면 가상환경을 활성화시킨다
(base) $ source activate develop
(develop) $
  • 만일 다른 가상환경을 실행시키거나 현재 가상환경에서 빠져나와 base 로 돌아가고 싶다면 가상환경을 비활성화를 하면된다
(develop) $ conda deactivate

Flask 설치

  • flask는 pip을 통해서 간단하게 설치가 가능하다.
    (pip는 파이썬 패키지 매니저이다)

  • flask설치는 가상환경에서 설치를 권장한다

(base) $ conda activate develop
(develop) $ pip install flask
...
  • 설치 후 python에서 flask가 import되는지를 가상환경과 base환경과 비교를 해본다
(develop) $ python
Python 3.7.6 (default, Jan  8 2020, 19:59:22) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from flask import Flask
>>> app = Flask("test")
>>> 
# 아무런 메세지가 없다는 것은 정상적으로 flask를 불러왔다는 의미이다(무소식이 희소식)
  • 만약 flask가 설치 되지 않은 환경 즉, base환경 또는 다른 가상 환경일 경우 flask import 시 ModuleNotFoundError 오류가 발생된다
(develop) $ conda deactivate 
(base) $ python
Python 3.7.4 (default, Aug 13 2019, 20:35:49) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from flask import Flask
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'flask'
>>> 

정리

  • Flask는 파이썬 웹 어플리케이션을 구현할 때 사용되는 프레임워크이다
  • Flask는 Django와 다르게 웹 어플리케이션을 구현할 때 꼭 필요한 기능만을 제공하는 프레임워크여서 학습 곡선(learning curve)가 비교적 낮다
  • 파이썬 flask를 개발 할 때에는 먼저 파이썬 가상황경을 생성하고 활성화 시킨 상태에서 개발, 실행, 테스트를 해야한다.
profile
dev_pang의 pang.log

0개의 댓글