Sebelum dapat menjalankan aplikasi pada runtime Python 3 di lingkungan standar App Engine, Anda mungkin perlu mengubah beberapa file konfigurasi yang digunakan App Engine:
app.yaml
. File ini berisi informasi tentang kode aplikasi Anda, seperti runtime dan pengendali aplikasi.appengine_config.py
. Runtime Python 2 menggunakan file ini untuk mengakses library pihak ketiga dan memberikan nilai untuk konstan dan "fungsi hook". Runtime Python 3 tidak menggunakan file ini.
Mengupdate app.yaml
Perilaku beberapa kolom di
file konfigurasi app.yaml
Anda telah diubah. Hapus kolom yang tidak lagi didukung dan update
kolom lain seperti yang dijelaskan dalam tabel berikut.
Kolom | Ubah jenis | Deskripsi |
---|---|---|
app_engine_apis | Hanya berlaku untuk Python 3 | Harus disetel ke true jika Anda ingin mengakses
layanan paket lama untuk Python 3. |
api_version application_readable builtins |
Tidak lagi didukung | Tidak berlaku di runtime Python 3. |
threadsafe | Tidak lagi didukung | Semua aplikasi dianggap threadsafe. Jika aplikasi Anda tidak
threadsafe, tentukan entrypoint
yang mengonfigurasi 1 thread per worker.Misalnya, saat menggunakan class instance F4: entrypoint: gunicorn -b :$PORT -w 8 --threads 1 main:app Lihat praktik terbaik entrypoint untuk jumlah worker yang direkomendasikan bagi setiap class instance. |
koleksi | Tidak lagi didukung |
Gunakan file requirements.txt untuk
mendeklarasikan dependensi
dan menginstal library klien.
|
pengendali: login | Didukung jika app_engine_apis adalah true |
Jika Anda tidak menggunakan layanan paket lama untuk Python 3, gunakan Identity and Access Management (IAM) untuk pengelolaan pengguna. |
pengendali: skrip | Modified | Di runtime Python 2, Anda menggunakan kolom
script
untuk merutekan permintaan masuk ke skrip aplikasi Anda.
Di runtime Python 3, Anda harus menggunakan framework web dengan
perutean dalam aplikasi (seperti Flask atau Django), bukan menggunakan
kolom Untuk memigrasikan file
Penanganan file statis tidak berubah. |
Jika Anda menggunakan salah satu kolom yang tidak digunakan lagi, App Engine akan menampilkan error saat Anda men-deploy aplikasi.
Anda dapat menggunakan contoh berikut untuk membandingkan perbedaan antara
file app.yaml
:
Python 2
runtime: python27 api_version: 1 threadsafe: true handlers: - url: / script: home.app - url: /index\.html script: home.app - url: /stylesheets static_dir: stylesheets - url: /(.*\.(gif|png|jpg))$ static_files: static/\1 upload: static/.*\.(gif|png|jpg)$ - url: /admin/.* script: admin.app login: admin - url: /.* script: not_found.app
Python 3
runtime: python312
app_engine_apis: true
handlers:
- url: /stylesheets
static_dir: stylesheets
- url: /(.*\.(gif|png|jpg))$
static_files: static/\1
upload: static/.*\.(gif|png|jpg)$
- url: /admin/.*
script: auto
login: admin
Menghapus appengine_config.py
Runtime Python 2 di lingkungan standar App Engine menggunakan
file
appengine_config.py
.
File ini diabaikan dalam runtime Python 3. Sebagai gantinya, runtime Python 3
menggunakan file requirements.txt
standar untuk
menginstal dependensi,
termasuk dependensi yang menggunakan kode native.