在 Python 中指定依附元件

有兩種方式可以指定以 Python 編寫的 Cloud Functions 依附元件:使用 pip 套裝管理員的 requirements.txt 檔案,或與您的函式一起封裝本機依附元件。

透過 pip 指定依附元件

Python 中的依附元件由 pip 代管,並以名為 requirements.txt 的中繼資料檔案表示。這個檔案所在的目錄必須與包含函式程式碼的 main.py 檔案相同。

當您部署函式時,Cloud Functions 會使用 pip 下載並安裝 requirements.txt 檔案中宣告的依附元件。

requirements.txt 檔案中,每個套件一行。每行都包含套件名稱以及要求的版本。詳情請參閱 requirements.txt 參考資料

以下是 requirements.txt 檔案範例:

requests==2.19.0
numpy

封裝本機依附元件

如果您無法透過 pip 套裝管理員使用依附元件,您可以將依附元件與函式一起封裝與部署。舉例來說,您可以採用如下所示的目錄結構:

myfunction/
├── main.py
└── mylocalpackage/
    ├── __init__.py
    └── myscript.py

接著您可以使用本機依附元件 (mylocalpackage) 的程式碼:

from mylocalpackage.myscript import foo

使用私人依附元件

依附元件安裝在 Cloud Build 環境中,該環境無法提供安全殼層 (SSH) 金鑰組的存取權。如果套件託管在需要 SSH 型驗證的存放區內,則必須與專案的程式碼一起提供及上傳,如前一節所述。

在部署您的應用程式前,您可以使用 pip install 指令搭配 -t DIRECTORY 標記以複製私人依附元件到本機目錄中,如下所示:

  1. 將您的依附元件複製到本機目錄:

    pip install -t DIRECTORY DEPENDENCY
  2. 新增一個空 __init__.py 檔案到 DIRECTORY 目錄,以將其轉變為模組。

  3. 從此模組匯入以使用您的依附元件:

    import DIRECTORY.DEPENDENCY

預先安裝套件

在部署期間,以下 Python 套件將自動與您的函式一起安裝。如果您在函式程式碼中使用任何這些套件,我們建議您在 requirements.txt 文件中包含以下版本:

click==6.7
Flask==1.0.2
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
pip==18.0
requests==2.19.1
setuptools==40.2.0
Werkzeug==0.14.1
wheel==0.31.1

此外,Python 執行階段包含執行環境中的多個系統套件。如果您的函式使用的依附元件,需要並未列出的系統套件,您可以要求套件

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Functions Documentation