Tindakan ini menyediakan fungsionalitas berikut untuk pengguna GitHub Actions:
Lihat action.yml
ular piton
steps :
- uses : actions/checkout@v4
- uses : actions/setup-python@v5
with :
python-version : ' 3.13 '
- run : python my_script.py
PyPy
steps :
- uses : actions/checkout@v4
- uses : actions/setup-python@v5
with :
python-version : ' pypy3.10 '
- run : python my_script.py
GraalPy
steps :
- uses : actions/checkout@v4
- uses : actions/setup-python@v5
with :
python-version : ' graalpy-24.0 '
- run : python my_script.py
Masukan python-version
bersifat opsional. Jika tidak disediakan, tindakan akan mencoba menyelesaikan versi dari file .python-version
default. Jika file .python-version
tidak ada, versi Python atau PyPy dari PATH akan digunakan. Versi default Python atau PyPy di PATH bervariasi antar runner dan dapat diubah secara tidak terduga, jadi kami menyarankan untuk selalu menyetel versi Python secara eksplisit menggunakan input file python-version
atau python-version-file
.
Tindakan ini pertama-tama akan memeriksa cache alat lokal untuk kecocokan semver. Jika tidak dapat menemukan versi tertentu di cache alat, tindakan akan mencoba mengunduh versi Python dari Rilis GitHub dan untuk PyPy dari dist resmi PyPy.
Untuk informasi mengenai versi Python atau PyPy yang di-cache secara lokal pada runner yang dihosting GitHub, lihat Gambar GitHub Actions Runner.
Input python-version
mendukung Spesifikasi Versi Semantik dan beberapa notasi versi khusus (misalnya semver ranges
, xy-dev syntax
, dll.), untuk contoh detail silakan lihat bagian: Menggunakan input versi python pada panduan penggunaan Lanjutan.
Dengan menggunakan input architecture
, dimungkinkan untuk menentukan arsitektur interpreter Python atau PyPy yang diperlukan: x86
, x64
, atau arm64
. Jika input tidak ditentukan, arsitektur defaultnya adalah arsitektur OS host.
Tindakan ini memiliki fungsionalitas bawaan untuk menyimpan cache dan memulihkan dependensi. Ia menggunakan toolkit/cache di bawah tenda untuk menyimpan dependensi tetapi memerlukan lebih sedikit pengaturan konfigurasi. Manajer paket yang didukung adalah pip
, pipenv
, dan poetry
. Input cache
bersifat opsional, dan cache dinonaktifkan secara default.
Tindakan defaultnya adalah mencari file ketergantungan ( requirements.txt
atau pyproject.toml
untuk pip, Pipfile.lock
untuk pipenv, atau poetry.lock
untuk puisi) di repositori, dan menggunakan hashnya sebagai bagian dari kunci cache. cache-dependency-path
masukan digunakan untuk kasus ketika beberapa file ketergantungan digunakan, file tersebut terletak di subdirektori berbeda atau file berbeda untuk hash yang ingin digunakan.
pip
, tindakan tersebut akan menyimpan cache direktori cache globalpipenv
, tindakan akan menyimpan cache direktori virtualenvpoetry
, tindakan ini akan menyimpan direktori virtualenv -- satu untuk setiap proyek puisi yang ditemukanMenyimpan dependensi pip:
steps :
- uses : actions/checkout@v4
- uses : actions/setup-python@v5
with :
python-version : ' 3.13 '
cache : ' pip ' # caching pip dependencies
- run : pip install -r requirements.txt
Catatan: Cache yang dipulihkan tidak akan digunakan jika file persyaratan.txt tidak diperbarui untuk waktu yang lama dan versi ketergantungan yang lebih baru tersedia yang dapat menyebabkan peningkatan total waktu pembangunan.
Format file persyaratan memungkinkan untuk menentukan versi ketergantungan menggunakan operator logika (misalnya chardet>=3.0.4) atau menentukan ketergantungan tanpa versi apa pun. Dalam hal ini perintah pip install -r requiremen.txt akan selalu mencoba menginstal versi paket terbaru yang tersedia. Untuk memastikan bahwa cache akan digunakan, harap tetap menggunakan versi ketergantungan tertentu dan perbarui secara manual jika perlu.
Lihat contoh penggunaan cache
dan cache-dependency-path
untuk pipenv
dan poetry
di bagian: Paket cache dari Panduan penggunaan lanjutan.
setup-python
dengan runner yang dihosting sendirisetup-python
di GHESSkrip dan dokumentasi dalam proyek ini dirilis di bawah Lisensi MIT.
Kontribusi dipersilahkan! Lihat Panduan Kontributor kami.