Python 애플리케이션의 종속 항목은 표준 requirements.txt
파일에서 선언됩니다. 예를 들면 다음과 같습니다.
Flask==MAJOR.MINOR.PATCH
google-cloud-storage
MAJOR, MINOR, PATCH를 원하는 Flask 버전 번호로 바꿉니다.
App Engine에 배포하면 배포된 앱과 함께 requirements.txt
파일에 지정된 종속 항목이 자동으로 설치됩니다. 네이티브 C 확장이 필요한 패키지를 포함하여 모든 Linux 호환 Python 패키지를 사용할 수 있습니다.
기본적으로 App Engine은 가져온 종속 항목을 캐시하여 빌드 시간을 단축합니다. 종속 항목의 캐시되지 않은 버전을 설치하려면 다음 명령어를 사용하세요.
gcloud app deploy --no-cache
Artifact Registry를 사용하는 비공개 종속 항목
Python 앱에 대해 비공개 종속 항목을 호스팅해야 하는 경우 Artifact Registry Python 저장소를 사용할 수 있습니다.
앱을 배포할 때 빌드 프로세스에서는 Cloud Build 서비스 계정에 대해 Artifact Registry 사용자 인증 정보가 자동으로 생성되므로, 추가 사용자 인증 정보를 생성할 필요가 없습니다. 비공개 종속 항목을 포함하려면 requirements.txt
파일에서 Artifact Registry URL 및 관련 패키지를 추가합니다.
여러 저장소를 지정하려면 Artifact Registry 가상 저장소를 사용하여 pip에서 저장소를 검색하는 순서를 안전하게 제어합니다. 예를 들면 다음과 같습니다.
--index-url REPOSITORY_URL
sampleproject
Flask==MAJOR.MINOR.PATCH
google-cloud-storage
REPOSITORY_URL을 다음과 같은 레지스트리 주소로 바꿉니다.
https://REGION_ID-python.pkg.dev/PROJECT_ID/REPOSITORY_NAME/simple
다른 저장소가 있는 비공개 종속 항목
종속 항목은 SSH 키 액세스를 제공하지 않는 Cloud Build 환경에 설치됩니다. SSH 기반 인증이 필요한 저장소에서 호스팅되는 패키지는 프로젝트 디렉터리로 복사되어야 하고 pip 패키지 관리자를 사용하여 프로젝트 코드와 함께 업로드되어야 합니다.
비공개 종속 항목을 사용하려면 다음 안내를 따르세요.
pip install -t lib my_module
을 실행하여 종속 항목을 로컬 폴더lib
에 복사합니다.빈
__init__.py
파일을lib
디렉터리에 추가하여 모듈로 만듭니다.앱에서 그 모듈을 가져옵니다. 예를 들면 다음과 같습니다.
import lib.my_module
로컬에서 종속 항목 설치
애플리케이션을 로컬에서 개발하고 테스트할 때는 venv
를 사용하여 애플리케이션의 종속 항목을 시스템 패키지에서 격리하는 것이 좋습니다. 이렇게 하면 로컬 머신과 배포된 애플리케이션에서 종속 항목의 버전이 같아집니다.
venv
를 사용하여 종속 항목을 설치하려면 다음 단계를 완료하세요.
Mac OS/Linux
- 격리된 Python 환경을 만듭니다.
python3 -m venv env
source env/bin/activate
- 현재 위치가 샘플 코드가 있는 디렉터리가 아니면
hello_world
샘플 코드가 포함된 디렉터리로 이동합니다. 그런 후 종속 항목을 설치합니다.cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
Windows
PowerShell을 사용하여 Python 패키지를 실행합니다.
- PowerShell 설치 위치를 찾습니다.
- PowerShell 바로가기를 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 시작합니다.
- 격리된 Python 환경을 만듭니다.
python -m venv env
.\env\Scripts\activate
- 프로젝트 디렉터리로 이동하여 종속 항목을 설치합니다. 현재 위치가 샘플 코드가 있는 디렉터리가 아니면
hello_world
샘플 코드가 포함된 디렉터리로 이동합니다. 그런 후 종속 항목을 설치합니다.cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
이렇게 하면 앱을 로컬로 실행할 때 requirements.txt
파일에 선언된 종속 항목만 사용할 수 있습니다.
배포 중에 App Engine에 의해 설치된 종속 항목은 env/
디렉터리의 콘텐츠가 아니라 requirements.txt
파일의 콘텐츠를 기반으로 합니다.
웹 프레임워크 설치
앱이 웹 요청을 처리하도록 사용 설정하려면 웹 프레임워크를 사용해야 합니다. 다음을 포함한 모든 Python 웹 프레임워크를 사용할 수 있습니다.
특정 웹 프레임워크를 사용하려면 단순히 requirements.txt
에 추가하면 됩니다.
Flask==MAJOR.MINOR.PATCH
WSGI 서버 설치
일부 웹 프레임워크에는 WSGI 서버가 여러 개 내장되어 있지만 이 중 프로덕션 트래픽을 처리하는 데 적합한 것은 거의 없습니다. 대부분의 웹 애플리케이션은 Gunicorn, uWSGI, Waitress와 같은 독립형 WSGI 서버를 사용합니다. WSGI 서버 설치, 구성, 사용에 대한 자세한 내용은 애플리케이션 시작을 참조하세요.
Cloud 클라이언트 라이브러리 설치
Python용 Cloud 클라이언트 라이브러리는 작성해야 하는 상용구 코드를 대폭 줄여주는 Google Cloud 서비스에 액세스하기 위한 클라이언트 라이브러리입니다. 이 라이브러리는 높은 수준의 API 추상화를 제공하므로 이해하기가 더 쉽습니다. 또한 이 라이브러리는 Python 관용구를 사용하고 표준 Python 라이브러리와 함께 잘 작동하며 코드베이스와 더 잘 통합됩니다.
예를 들어 Datastore 또는 Cloud Storage의 해당 Python 클라이언트 라이브러리를 설치하여 서비스를 앱과 통합할 수 있습니다.
Cloud Datastore용 Python 클라이언트 라이브러리를 설치하려면 다음 안내를 따르세요.
pip
를 사용하여 로컬에서 클라이언트 라이브러리를 설치합니다.pip install google-cloud-datastore
인증을 설정합니다. 자동 인증 처리를 위해 Python용 Cloud 클라이언트 라이브러리를 구성할 수 있습니다. 클라이언트 라이브러리는 Google Cloud CLI를 사용하여 로컬에서 인증도 자동으로 처리할 수 있습니다.
gcloud auth login
Datastore 클라이언트 라이브러리 참조를 사용하여 앱의 Cloud Datastore 서비스에 대한 지원을 구현합니다.
지원되는 Google Cloud 서비스의 모든 Python용 Cloud 클라이언트 라이브러리 전체 목록은 API 및 Python 라이브러리를 참조하세요.