App Engine 표준 환경의 Python 3 런타임에서 앱을 실행하려면 App Engine에서 사용하는 구성 파일의 일부를 변경해야 할 수도 있습니다.
app.yaml
. 이 파일에는 런타임 및 앱 핸들러와 같은 앱 코드에 대한 정보가 포함되어 있습니다.appengine_config.py
. Python 2 런타임은 이 파일을 사용하여 타사 라이브러리에 액세스하고 상수 및 '후크 함수'에 대한 값을 제공합니다. Python 3 런타임은 이 파일을 사용하지 않습니다.
app.yaml
업데이트 중
app.yaml
구성 파일의 일부 필드 동작이 수정되었습니다. 다음 표에 설명된 대로 지원 중단된 필드를 삭제하고 다른 필드를 업데이트합니다.
필드 | 유형 변경 | 설명 |
---|---|---|
app_engine_apis | Python 3에만 적용 가능 | Python 3용 기존 번들 서비스에 액세스하려면 true 로 설정해야 합니다. |
api_version application_readable builtins |
지원 중단됨 | Python 3 런타임에서는 더 이상 사용되지 않습니다. |
threadsafe | 지원 중단됨 | 모든 애플리케이션이 스레드 안전으로 간주됩니다. 애플리케이션이 스레드 안전이 아닌 경우 작업자당 1개의 스레드를 구성하는 entrypoint 를 지정합니다.예를 들어 F4 인스턴스 클래스를 사용하는 경우 entrypoint: gunicorn -b :$PORT -w 8 --threads 1 main:app entrypoint 권장사항에서 각 인스턴스 클래스의 권장 작업자 수를 참조하세요. |
libraries | 지원 중단됨 | requirements.txt 파일을 사용하여 종속 항목을 선언하고 클라이언트 라이브러리를 설치합니다. |
handlers: login | app_engine_apis 가 true 인 경우 지원됨 |
Python 3용 기존 번들 서비스를 사용하지 않는 경우 사용자 관리에 Identity and Access Management(IAM)를 사용합니다. |
handlers: script | 수정됨 | Python 2 런타임에서 script 필드를 사용하여 수신 요청을 앱의 스크립트로 라우팅합니다.Python 3 런타임에서는
정적 파일 처리는 변경되지 않습니다. |
지원 중단된 필드를 사용하면 앱을 배포할 때 App Engine은 오류를 반환합니다.
다음 예를 사용하여 app.yaml
파일 간의 차이점을 비교할 수 있습니다.
Python 2
runtime: python27 api_version: 1 threadsafe: true handlers: - url: / script: home.app - url: /index\.html script: home.app - url: /stylesheets static_dir: stylesheets - url: /(.*\.(gif|png|jpg))$ static_files: static/\1 upload: static/.*\.(gif|png|jpg)$ - url: /admin/.* script: admin.app login: admin - url: /.* script: not_found.app
Python 3
runtime: python312
app_engine_apis: true
handlers:
- url: /stylesheets
static_dir: stylesheets
- url: /(.*\.(gif|png|jpg))$
static_files: static/\1
upload: static/.*\.(gif|png|jpg)$
- url: /admin/.*
script: auto
login: admin
appengine_config.py
삭제
App Engine 표준 환경의 Python 2 런타임은 appengine_config.py
파일을 사용합니다.
이 파일은 Python 3 런타임에서 무시됩니다. 대신 Python 3 런타임은 네이티브 코드를 사용하는 종속 항목을 포함하여 종속 항목을 설치하기 위해 표준 requirements.txt
파일을 사용합니다.