본문 바로가기

프로그래밍/Python

[Flask] Pycharm Community 에서 Flask 프로젝트 실행/디버그 설정하기

728x90

Pycharm Community 에서 Flask 프로젝트 실행/디버그 설정하기

0. 간단한 flask 프로젝트 생성

PS D:\DEVPROJECTS\PycharmProjects\flasko> tree
DEXTR 볼륨에 대한 폴더 경로의 목록입니다.
볼륨 일련 번호는 1894-E5A9입니다.
D:.
└─flasko
    ├─static
    │  ├─content
    │  ├─fonts
    │  └─scripts
    └─templates

PS D:\DEVPROJECTS\PycharmProjects\flasko> dir
    디렉터리: D:\DEVPROJECTS\PycharmProjects\flasko
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----     2019-11-14   오후 4:56                flasko
-a----     2019-11-14   오후 4:56           5580 flasko.pyproj
-a----     2019-11-14   오후 4:56            978 flasko.sln
-a----     2015-11-24  오전 11:04              9 requirements.txt
-a----     2019-11-14   오후 4:56            347 runserver.py
-a----     2019-11-14   오후 4:56           1669 web.config
-a----     2019-11-14   오후 4:56           1464 web.debug.config    

flasko 라는 이름의 간단한 flask 프로젝트를 visual studio 를 이용하여 생성했다. 최상위 디렉토리의 runserver.py 를 실행하여 flask 가 실행되게 된다. 이 파일과 같은 위치에 있는 flasko 라는 이름의 디렉토리에는 실제 view와 로직이 들어가 있는 py 파일들과 템플릿 jinja html 파일등이 있다.

1. Pycharm Community 를 열어, 디렉토리를 프로젝트로 열기

pycharm community 에서 상위의 flasko 디렉토리를 지정하여 프로젝트를 연다. 프로젝트를 실행하기 위해서, 메인 실행파일인 runserver.py 를 지정하여 run 을 수행하여도 flask 웹이 동작하지 않는다. 실행을 위해 특별한 설정이 필요하다.

2. Run Configuration 편집

메뉴의 Run - Edit Configuration 을 클릭하여 실행 설정을 연다.

화면 왼쪽 가장 위의 + 아이콘을 클릭하여 나오는 드롭박스 선택중에서 Python 을 선택하여 새로운 실행 설정을 만든다. 이 실행 설정을 잘 편집하면 flask 프로젝트를 pycharm community 에서 실행시킬 수 있다.

  • Name 은 적당한 이름을 지정한다. flaskapp 으로 하겠다.
  • Python Interpreter 에 flask 가 설치된 파이썬을 선택한다. 시스템에 기본으로 설치된 파이썬을 선택해도 될 것이고, virtualenv 또는 venv, 또는 conda env 로 가상환경을 설정하여 사용하는 경우 원하는 가상실행환경을 선택한다. 나는 미리 만들어 놓은 aicpu3664 라는 실행환경을 선택하겠다.
  • (윈도우의 경우) Script pathModule Name 으로 바꾸고, Module Name 에 flask 라고 써준다.
  • 그 아래 Parameters 에 run 이라고 써준다.
  • Environment variables 에 PYTHONBUFFERED=1 이라고 쓰여 있는데, 여기에 FLASK 관련 환경변수를 추가해 주어야 한다. 여기가 핵심이다.
    • 환경변수 FLASK_APP 에 본 flask 프로젝트의 메인 실행 파일명을 적어준다. 이번 예의 경우 즉, FLASK_APP=runserver.py 를 적어준다.적을 땐 기존 것 옆에 ; (세미콜론) 으로 구분하여 적어준다.
    • 환경변수 FLASK_ENV 도 delevopment 로 설정해 주어야 한다. 즉, ;FLASK_ENV=development 을 더 써준다. 이 변수가 설정되어 있으면, 현재 실행환경이 실서비스가 아닌 개발환경이라는 뜻이다. 개발하는 웹을 실행시키고, 소스를 변경하여 저장하면, 알아서 웹 프로젝트를 다시 시작해 준다.
  • Working directory 에 프로젝트 최상위 폴더를 찾아 지정해 준다. 이 예의 경우 상위에 있는 flasko 디렉토리를 지정하면 될 것이다.

그리고 마지막으로 File - Settings - Project: [proj name] - Project Interpreter 를 열어 파이썬 인터프리터를 위 설정에서 지정한 인터프리터와 동일하게 맞춰준다.

3. 실행해 보기

이렇게 설정을 마치고, Run - Run (flaskapp) 을 실행해보면, 다음과 같이 메시지가 나오면서, 실행이 된다.

D:\PyEnvs\aicpu3664\Scripts\python.exe -m flask run
 * Serving Flask app "runserver.py"
 * 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)

visual studio 의 경우에는 실행하면 자동으로 웹브라우저를 띄워주지만, 여긴 그런 것 없다. 다만 접속해야 하는 주소가 하이퍼링크로 나오니까 메시지에서 url 을 클릭하여 웹브라우저를 실행하여 확인한다.