GAE: second generation runtime 기능을 효과적으로 활용하면서 Python 3.7 웹 앱을 실행합니다.
3823 단어 GoogleCloudPlatform파이썬gcpGAE
Introducing App Engine Second Generation runtimes and Python 3.7
본건에 관해서는, 이미 Qiita나 그 외의 블로그로 기사를 집필되어 있는 분도 계십니다. 그들을 보고, 내가 옛날에 쓴 앱(내부에서 pandas를 사용하고 있습니다)을 second generation 위에서 간단하게 움직일 수 있을까? 라고 생각해 시도한 것이 이 기사를 쓰려고 생각한 계기입니다.
second generation runtime 가 되어, 제약이 느슨해지거나 새롭게 할 수 있는 것이 증가하고 있습니다. 특히 내부적으로 C로 작성된 Python 라이브러리도 추가할 수 있게 된 것이 큽니다. 지금까지 움직일 수 없었던 어플도 움직일 수 있게 되어 있는 것 같아요.
second generation runtime 정보
우선, 싹둑 second generation runtime 의 개요를 설명합니다.
second generation 런타임에서는 gVisor 기반 컨테이너의 격리가 가능합니다. 따라서 first generation에 비해 제한이 느려집니다.
이 외에도 다양한 제한의 완화, 비추천이 된 기능 등이 있습니다. 자세한 내용은 공식 문서로 정리되어 있으므로 그쪽을 참조하십시오.
Understanding differences between Python 2 and Python 3 on the App Engine standard environment
웹 애플리케이션 정보
이번에 GAE에 배포하는 것은 Excel 또는 CSV 파일의 테이블을 마크다운 형식으로 변환하는 웹 응용 프로그램입니다.
second generation runtime 의 기능 중 도움이 되는 것은 다음의 2 점.
타사 패키지 설치 가능
이번에는 다음 패키지를 사용합니다. pandas와 같은 패키지도 포함되어 있습니다.
/tmp에 파일 읽기/쓰기
업로드한 파일은/tmp 영역에 임시로 내보내집니다.
그것을 pandas의 read_csv 메소드로 읽고 있습니다.
second generation runtime 설정 포인트
그럼 실제로 second generation runtime 의 설정을 어떻게 할까. 요점만 내보냅니다.
런타임 지정
app.yaml 에서 런타임을 지정합니다. python37 합니다.
app.yaml
runtime: python37
패키지
requirements.txt에 필요한 패키지를 내보냅니다. 다음은 공식 문서의 예입니다 (내 앱은 버전을 고정하지 않았기 때문에 · · 본래는 pip freeze로 취득한 버전이어야합니다).
Flask==0.10.1
python-memcached==1.54
배포
이번 시도하는 웹 앱 소스는 Github에 게시됩니다. Cloud Shell에서 다음과 같이 명령을 실행합니다.
# ソースの取得
$ git clone https://github.com/ao-log/gae-second-generation-python-demo
$ cd gae-second-generation-python-demo
# デプロイ
$ gcloud app deploy .
https://[프로젝트 이름].appspot.com/으로 이동하여 배포되었는지 확인합니다.
참고
Reference
이 문제에 관하여(GAE: second generation runtime 기능을 효과적으로 활용하면서 Python 3.7 웹 앱을 실행합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ao_log/items/a547d2bd91e903ab59cc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)