[Flask] Python 기반 꿀잼 웹 프레임워크
네 맞아여, 전 PHP 개발자입니다.
근데! PHP와 함께해온 3년의 시간들이 무안해질만큼 꿀잼 프레임워크를 찾았는데!
그게 바로 Flask였습니다.
플라스크(Flask)는?
파이썬(Python) 기반의 '마이크로(Micro) 웹 프레임워크'입니다.
여기서 '마이크로(Micro)'라는 것은 '작고, 기능이 적다'는 뜻이 아니라, '핵심 기능만 간결하게 유지하면서 확장 가능한 것'이라는 의미입니다.
그렇기 때문에 플라스크는 엄청 가볍고 (사실 있는게 없다고 할 정도로) 자유도가 높습니다. (하나부터 열까지 내가 다 만들어야... 하)
하지만 그만큼! 엄청 꿀잼 프레임워크니까 저와 함께 시작해 보도록 하죠!
플라스크 한글 메뉴얼은 http://flask-docs-kr.readthedocs.io/ko/latest에 있습니다.
플라스크 개발 환경 구축하기
플라스크는 기본적으로 파이썬 3버전을 지원하지 않습니다.
그 이유는! 플라스크가 의존하고 있는 Werkzeug가 아직 파이썬 3 버전을 지원하지 않기 때문입니다!
그래도! 파이썬 3으로 개발해서 파이썬 2.7 버전으로 코드를 바꿔줄 수 있는 라이브러리들이 있습니다.
그래도 일단은 파이썬 2.7 버전을 이용해서 시작해보도록 하겠습니다.
파이썬 설치하기
맥 유저 같은 경우는 기본적으로 파이썬 2.7 버전이 설치되어 있습니다.
윈도우 유저는 파이썬 사이트에서 파이썬 2.7 버전을 다운로드 받아서 설치해야 합니다.
파이썬 다운로드 : https://www.python.org/downloads/
파이썬 2.7.14 버전을 다운로드 해 설치합니다.
그리구 맥은 그냥 터미널창에서 'python' 명령어를 통해서 python CLI를 실행 시킬 수 있지만, 윈도우는 환경 변수 설정을 해줘야 합니다. (이게 한번 꼬이면 정말 빡쳐요)
윈도우 환경 변수 설정 방법은 http://doocong.com/python/python-pip-install/을 참고해 주시면 좋겠습니다.
pip 설치하기
그 다음은 파이썬 패키지 관리자 도구인 'pip'를 설치해야 합니다.
윈도우 같은 경우는 위의 링크에 pip 설치 방법까지 나와 있습니다.
맥 유저는 터미널에 아래의 명령어를 입력해 주시면 됩니다.
1 | $ sudo easy_install pip | cs |
Virtualenv 설치하기
'Virtualenv'는 나의 컴퓨터 환경에서 다른 공간을 할당하는(?) 일종의 가상 머신입니다. 가상 머신이라고 하기엔 작은 규모고, 같은 운영체제를 기반으로 하지만, python 프로젝트가 내 컴퓨터의 다른 요소들과 상호작용하지 않게 도와줍니다.
우리는 새로운 플라스크 프로젝트를 virtualenv 안에다 생성할 것입니다.
pip를 이용해서 설치해 봅시다.
윈도우는 CMD, 맥은 terminal에 다음 명령어를 입력합니다.
1 | $ sudo pip install virtualenv | cs |
이 명령어는 우리의 컴퓨터에 virtualenv를 설치해 줍니다.
우리는 virtualenv를 통해서 가상의 공간을 할당하고, 가상 공간을 끄고 킬 수 있습니다.
새로운 프로젝트 이름을 'hello'라고 해봅시다.
hello라는 폴더를 생성하고, hello 폴더로 이동합시다!
1 2 | $ mkdir hello $ cd hello | cs |
그러면 이제 본격적으로 프로젝트를 시작하기 위해 가상환경을 생성해 줄겁니다. 가상 환경의 이름은 일단 'venv'로 해두죠.
1 | $ virtualenv venv | cs |
그러면 hello 폴더 안에 venv라는 폴더가 생성되는 것을 확인할 수 있습니다.
venv는 가상환경과 관련된 정보를 담고 있습니다.
가상환경을 실행하기 위해서는 venv/bin/ 폴더 안에 있는 activate를 실행 시켜야 합니다.
맥
1 | $ source venv/bin/activate | cs |
윈도우
1 | $ venv\scripts\activate | cs |
그러면 다음과 같이 우리가 가상 환경을 사용하고 있다는 표시가 뜨게 됩니다.
1 | (venv) $ | cs |
그러면 가상 환경 구축까지 끝났습니다!
flask 설치하기
우리는 가상환경이 켜진 상태에서 플라스크를 설치할 것입니다.
가상환경 안에서 설치된 패키지들은 실제 컴퓨터 환경에서 사용할 수 없습니다.
즉, 가상환경이 활성화 되어야만 flask를 사용할 수 있습니다.
pip를 이용해 flask를 설치해 줍니다.
1 | (venv) $ sudo pip install Flask | cs |
그러면 플라스크 설치를 완료 했습니다!
웹 서버 구동
그럼 이제 간단하게 서버를 시동해보도록 하죠.
일단 hello 폴더에 hello.py 파일을 생성합니다.
그 안에는 다음과 같이 코드를 작성합니다!
1 2 3 4 5 6 | from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return "hello!"; | cs |
1번줄 : flask 패키지로부터 Flask 모듈을 불러옵니다.
2번줄 : app이라는 변수에 플라스크 서버 객체를 할당합니다.
4번줄 : '/'이라는 url의 요청에 대한 처리를 할것이라고 지정합니다.
5번줄 : '/'이라는 url로 요청을 받으면, hello()라는 함수를 실행합니다.
6번줄 : hello()라는 함수는 "hello!"라는 응답을 줍니다.
그러면 실행해 봅시다!
1 | (venv) $ export FLASK_APP=hello.py | cs |
플라스크 웹 서버가 hello.py를 기본 앱으로 설정하라고 명령합니다.
1 | (venv) $ flask run | cs |
서버를 실행 시킵니다.
그러면 플라스크 서버가 127.0.0.1:5000에 실행되었다고 알려줍니다.
<아주 조촐하지만 성공입니다! 분명 성공이에요!!>
성공입니다!!!
마침
혹시 오류가 나거나 궁금한 사항이 있으면 언제든지 질문 주세요!
참고 : http://flask.pocoo.org/docs/0.12/quickstart