Menangani dependensi


Ada dua cara untuk menentukan dependensi untuk Cloud Functions yang ditulis dalam Python: menggunakan file requirements.txt pengelola paket pip atau memaketkan dependensi lokal dengan fungsi Anda.

Spesifikasi dependensi yang menggunakan standar Pipfile/Pipfile.lock tidak didukung. Project Anda tidak boleh menyertakan file ini.

Menentukan dependensi dengan pip

Dependensi pada Python dikelola dengan pip dan dinyatakan dalam file metadata yang disebut requirements.txt. File ini harus berada di direktori yang sama dengan file main.py yang berisi kode fungsi Anda.

Saat Anda men-deploy fungsi, dependensi download dan penginstalan Cloud Functions dideklarasikan dalam file requirements.txt menggunakan pip.

File requirements.txt berisi satu baris per paket. Setiap baris berisi nama paket, dan secara opsional, versi yang diminta. Untuk detail selengkapnya, lihat requirements.txt referensi.

Berikut adalah contoh file requirements.txt:

requests==2.20.0
numpy

Mengemas dependensi lokal

Anda juga dapat mengemas dan men-deploy dependensi bersama fungsi Anda. Pendekatan ini berguna jika dependensi Anda tidak tersedia melalui pengelola paket pip atau jika akses internet lingkungan Cloud Functions Anda dibatasi.

Misalnya, Anda dapat menggunakan struktur direktori seperti berikut:

myfunction/
├── main.py
└── localpackage/
    ├── __init__.py
    └── script.py

Kemudian, Anda dapat mengimpor kode seperti biasa dari localpackage menggunakan pernyataan import berikut.

# Code in main.py
from localpackage import script

Perhatikan bahwa pendekatan ini tidak akan menjalankan file setup.py apa pun. Paket yang berisi file tersebut masih dapat dipaketkan, tetapi mungkin tidak berjalan dengan benar di Cloud Functions.