HOME > etc > tips

Python3.7 Flask를 Google App Engine에 deploy하는 방법

By JS | 03 Nov 2018

최근 GAE은 python3.7을 지원하기 시작했습니다. 간단한 Flask app을 GAE에 deploy해보았고 과정에 대해서 간략히 정리하였습니다.

프로젝트 생성

먼저 프로젝트 폴더 생성하고, 기본적인 파일들을 생성합니다.

$ mkdir flask-python37
$ cd flask-python37

app.yaml 생성

runtime: python37

requirements.txt 생성

Flask==1.0.2

의존성 설치

pip install  -r requirements.txt

main.py 생성

from flask import Flask

app = Flask(__name__)

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

if __name__ == '__main__':
    app.run(host='127.0.0.1', port=8088, debug=True)  

로컬에서 실행(Run locally)

간단히 Hello를 출력하는 프로그램을 만들었습니다. 이제 로컬에서 실행해보겠습니다.

$ python main.py
 * Serving Flask app "main" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://127.0.0.1:8088/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 289-847-358

Deploy

로컬에서 테스트가 되었다면 이제 GAE에 deploy해보겠습니다.

$ gcloud app deploy
$ gcloud app browse

Troubleshooting

저의 경우 gcloud app deploy할 때 아래처럼 ERROR가 발생하였는데, gcloud sdk를 업데이트하라고 해서, 최신 버전으로 재설치해주니 해결되었습니다.

Beginning deployment of service [default]...
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 0 files to Google Cloud Storage                ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
ERROR: (gcloud.app.deploy) INVALID_ARGUMENT: Please update to the latest version of gcloud. If you are using the API directly, please provide a value for version.entrypoint.shell. This can be an empty value.

참고