Buildpack mendukung konfigurasi bahasa idiomatis melalui variabel lingkungan.
Menetapkan Versi Python
Secara default, buildpack Python Runtime menggunakan penafsir Python versi stabil terbaru. Jika aplikasi memerlukan versi tertentu, Anda dapat menentukannya dengan menyertakan file .python-version
dalam direktori root aplikasi.
3.9.9
Menggunakan GOOGLE_PYTHON_VERSION
Anda juga dapat menentukan versi Python melalui
variabel lingkungan GOOGLE_PYTHON_VERSION
.
Jika kedua konfigurasi ditetapkan, nilai GOOGLE_PYTHON_VERSION
akan lebih
diprioritaskan daripada file .python-version
. Secara default, jika file
.python-version
dan variabel lingkungan GOOGLE_PYTHON_VERSION
tidak
ditentukan, versi LTS terbaru Python akan digunakan.
Untuk mengonfigurasi buildpack agar menggunakan Python 3.10 saat men-deploy aplikasi Anda:
pack build sample-python --builder=gcr.io/buildpacks/builder \
--env GOOGLE_PYTHON_VERSION="3.10.x"
Anda juga dapat menggunakan deskriptor project project.toml
untuk mengenkode
variabel lingkungan bersama file project Anda. Lihat petunjuk cara
membangun aplikasi dengan variabel lingkungan.
Menentukan dependensi dengan pip
Buildpack Python mendukung pengelolaan dependensi aplikasi menggunakan pip. Dependensi aplikasi Anda harus dideklarasikan dalam file requirements.txt
direktori utama.
File requirements.txt
berisi satu baris per paket. Setiap baris berisi
nama paket, dan secara opsional, versi yang diminta. Untuk detail selengkapnya, lihat
referensi requirements.txt
.
Berikut adalah contoh file requirements.txt
:
requests==2.20.0 numpy
Mengonfigurasi pip
Perilaku pip dapat dikonfigurasi menggunakan variabel lingkungan:
pack build sample-python --builder=gcr.io/buildpacks/builder \
--env PIP_DEFAULT_TIMEOUT='60'
Dependensi pribadi dari Artifact Registry
Repositori Python Artifact Registry
dapat menghosting dependensi pribadi untuk fungsi Python Anda. Saat membangun aplikasi di
Cloud Build, buildpack Python akan otomatis membuat kredensial Artifact Registry
untuk akun layanan Cloud Build.
Anda hanya perlu menyertakan URL Artifact Registry di requirements.txt
tanpa membuat kredensial tambahan. Contoh:
--extra-index-url REPOSITORY_URL
sampleapp
Flask==0.10.1
google-cloud-storage
Titik entri aplikasi
Buildpack Python menggunakan Gunicorn
sebagai server HTTP WSGI default untuk workload Anda. Aplikasi yang dibangun dengan buildpack Python
memulai proses gunicorn
dengan setelan default,
mirip dengan menjalankan:
gunicorn --bind :8080 main:app
Menyesuaikan titik entri aplikasi
Anda dapat mengganti setelan default Gunicorn, default titik entri, dan menyesuaikan perintah awal aplikasi menggunakan Procfile
atau variabel lingkungan.
Anda dapat membuat Procfile
dengan setelan kustom di direktori root.
Contoh:
web: gunicorn --bind :$PORT --workers 1 --threads 8 --timeout 0 main:app
Atau, Anda dapat menggunakan variabel lingkungan GOOGLE_ENTRYPOINT
dengan
perintah pack
. Contoh:
pack build sample-python \
--builder gcr.io/buildpacks/builder
--env "GOOGLE_ENTRYPOINT='gunicorn --bind :$PORT main:app'"
Variabel Lingkungan
Buildpack Python mendukung variabel lingkungan berikut untuk menyesuaikan container Anda
PIP_<key>
Lihat dokumentasi pip.
Contoh: PIP_DEFAULT_TIMEOUT=60
menetapkan --default-timeout=60
untuk perintah pip
.