Python 應用程式的依附元件會在標準 requirements.txt
檔案中宣告。例如:
Flask==MAJOR.MINOR.PATCH
google-cloud-storage
將 MAJOR、MINOR 和 PATCH 替換為所需的 Flask 版本號碼。
當您部署至 App Engine 時,requirements.txt
檔案中指定的依附元件會自動隨部署的應用程式一併安裝。您可以使用任何與 Linux 相容的 Python 套件,包括需要原生 C 語言擴充功能的套件。
根據預設,App Engine 會快取已擷取的依附元件以減少建構時間。如果依附元件需要安裝未經快取的版本,請使用下列指令:
gcloud app deploy --no-cache
使用 Artifact Registry 的私人依附元件
如果您需要為 Python 應用程式託管私人相依項目,可以使用 Artifact Registry Python 存放區。部署應用程式時,建構程序會自動為 Cloud Build 服務帳戶產生 Artifact Registry 憑證,因此您不需要產生其他憑證。如要納入私人依附元件,請在 requirements.txt
檔案中新增 Artifact Registry 網址和相關套件。
如要指定多個存放區,請使用 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
與其他存放區的私人相依項目
依附元件安裝在 Cloud Build 環境中,該環境無法提供 SSH 金鑰的存取權。如果套件託管在需要 SSH 型驗證的存放區上,則必須將其複製到您的專案目錄中並使用 pip 套件管理員與專案的程式碼一起上傳。
若要使用私人依附元件:
執行
pip install -t lib my_module
,將依附元件複製到名為lib
的本機資料夾。在
lib
目錄中新增一個空白的__init__.py
檔案,使其為模組。在應用程式中匯入模組,例如:
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 的捷徑,然後以系統管理員的身分啟動 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 在部署期間安裝的依附元件是根據 requirements.txt
檔案的內容而定,而不是 env/
目錄的內容。
安裝網路架構
您必須使用網路架構,讓應用程式能夠處理網路要求。您可以使用任何 Python 網路架構,包括:
如要使用特定網路架構,請將該架構新增至 requirements.txt
:
Flask==MAJOR.MINOR.PATCH
安裝 WSGI 伺服器
雖然某些網路架構內建有 WSGI 伺服器,但當中適合用來提供生產流量的卻很少。大多數網頁應用程式都使用獨立的 WSGI 伺服器,例如 Gunicorn、uWSGI 或 Waitress。如要進一步瞭解如何安裝、設定及使用 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 服務的所有 Cloud Client Libraries for Python 的完整清單,請參閱「API 與 Python 程式庫」一文。