UsePythonVersion@0 - Gunakan tugas versi Python v0

Gunakan tugas ini untuk mengunduh atau memilih versi Python untuk dijalankan pada agen, dan secara opsional menambahkannya ke PATH.

Sintaks

# Use Python version v0
# Use the specified version of Python from the tool cache, optionally adding it to the PATH.
- task: UsePythonVersion@0
  inputs:
    versionSpec: '3.x' # string. Required. Version spec. Default: 3.x.
    #disableDownloadFromRegistry: false # boolean. Disable downloading releases from the GitHub registry. Default: false.
    #allowUnstable: false # boolean. Optional. Use when disableDownloadFromRegistry = false. Allow downloading unstable releases. Default: false.
    #githubToken: # string. Optional. Use when disableDownloadFromRegistry = false. GitHub token for GitHub Actions python registry. 
    #addToPath: true # boolean. Add to PATH. Default: true.
  # Advanced
    architecture: 'x64' # 'x86' | 'x64'. Required. Architecture. Default: x64.
# Use Python version v0
# Use the specified version of Python from the tool cache, optionally adding it to the PATH.
- task: UsePythonVersion@0
  inputs:
    versionSpec: '3.x' # string. Required. Version spec. Default: 3.x.
    #addToPath: true # boolean. Add to PATH. Default: true.
  # Advanced
    architecture: 'x64' # 'x86' | 'x64'. Required. Architecture. Default: x64.
# Use Python Version v0
# Retrieves the specified version of Python from the tool cache. Optionally add it to PATH.
- task: UsePythonVersion@0
  inputs:
    versionSpec: '3.x' # string. Required. Version spec. Default: 3.x.
    #addToPath: true # boolean. Add to PATH. Default: true.
  # Advanced
    architecture: 'x64' # 'x86' | 'x64'. Required. Architecture. Default: x64.

Input

versionSpec - Spesifikasi versi
string. Wajib diisi. Nilai default: 3.x.

Menentukan rentang versi atau versi yang tepat dari versi Python untuk digunakan, menggunakan sintaks rentang versi SemVer. Pelajari lebih lanjut tentang SemVer.


disableDownloadFromRegistry - Menonaktifkan pengunduhan rilis dari registri GitHub
boolean. Nilai default: false.

Menonaktifkan pengunduhan versi Python yang hilang dari registri Github Actions. Boolean ini seharusnya hanya true jika menggunakan penginstalan lokal Python.


allowUnstable - Perbolehkan mengunduh rilis yang tidak stabil
boolean. Pilihan. Gunakan saat disableDownloadFromRegistry = false. Nilai default: false.

Mengunduh versi Python yang tidak stabil dari registri versi Github Actions Python jika diatur ke true.


githubToken - Token GitHub untuk registri python GitHub Actions
string. Pilihan. Gunakan saat disableDownloadFromRegistry = false.

Menentukan token GitHub yang memberlakukan batas permintaan anonim dalam registri versi python Github Actions. Membiarkan kosong ini dapat menyebabkan kegagalan pengunduhan. Tidak diperlukan jika menggunakan penginstalan lokal Python.


addToPath - Tambahkan ke PATH
boolean. Nilai default: true.

Menambahkan versi Python yang diambil ke variabel lingkungan PATH untuk membuatnya tersedia dalam tugas atau skrip berikutnya tanpa menggunakan variabel output.


architecture - Arsitektur
string. Wajib diisi. Nilai yang diizinkan: x86, x64. Nilai default: x64.

Menentukan arsitektur target (x86 atau x64) penerjemah Python.


Opsi kontrol tugas

Semua tugas memiliki opsi kontrol selain input tugas mereka. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.

Variabel output

Tugas ini mendefinisikan variabel output berikut, yang dapat Anda konsumsi dalam langkah-langkah hilir, pekerjaan, dan tahapan.

pythonLocation
Direktori distribusi Python yang diinstal. Gunakan ini dalam tugas berikutnya untuk mengakses penginstalan Python ini.

Keterangan

Gunakan tugas ini untuk mengunduh atau memilih versi Python untuk dijalankan pada agen, dan secara opsional menambahkannya ke PATH.

Prasyarat

  • Agen yang dihosting Microsoft dengan versi Python yang dihosting secara berdampingan diinstal, atau agen yang dihost sendiri dengan Agent.ToolsDirectory dikonfigurasi (lihat FAQ).
  • Mengunduh versi python tidak didukung pada agen yang dihost sendiri.

Tugas ini akan gagal jika tidak ada versi Python yang ditemukan di Agent.ToolsDirectory. Versi Python yang tersedia di agen yang dihosting Microsoft dapat ditemukan di sini.

Catatan

Python versi x86 dan x64 tersedia di agen Windows yang dihosting Microsoft, tetapi tidak di agen Linux atau macOS.

Pada versi 0.150 tugas, spesifikasi versi juga akan menerima pypy2 atau pypy3.

Pada versi 0.213.1 dari tugas, spesifikasi versi juga akan menerima pypy2.x atau pypy3.x.

Jika tugas berhasil diselesaikan, variabel output tugas akan berisi direktori penginstalan Python:

Cuplikan layar variabel output.

Setelah menjalankan tugas ini dengan "Tambahkan ke PATH," python perintah dalam skrip berikutnya akan untuk versi interpreter tertinggi yang tersedia yang cocok dengan spesifikasi dan arsitektur versi.

Versi Python yang diinstal pada gambar Ubuntu dan macOS yang dihosting Microsoft mengikuti struktur symlinking untuk sistem seperti Unix yang ditentukan dalam PEP 394.

Misalnya, python3.11 adalah penerjemah aktual untuk Python 3.11.

python3 disymlinked ke interpreter itu, dan python merupakan symlink untuk symlink itu.

Pada gambar Windows yang dihosting Microsoft, penerjemah hanya python.

Untuk agen yang dihosting Microsoft, x86 hanya didukung di Windows. Ini karena Windows dapat menjalankan executable yang dikompilasi untuk arsitektur x86 dengan subsistem WoW64. Ubuntu dan MacOS yang dihosting menjalankan sistem operasi 64-bit dan hanya menjalankan Python 64-bit.

Bagaimana cara mengonfigurasi agen yang dihost sendiri untuk menggunakan tugas ini?

Penting

Mengunduh versi python tidak didukung pada agen yang dihost sendiri. Anda hanya dapat menggunakan versi yang telah diinstal sebelumnya.

Versi Python yang diinginkan perlu ditambahkan ke cache alat pada agen yang dihost sendiri sehingga tugas dapat menggunakannya. Biasanya, cache alat terletak di bawah _work/_tool direktori agen; atau, jalur dapat ditimpa oleh variabel AGENT_TOOLSDIRECTORYlingkungan . Di bawah direktori tersebut, buat struktur direktori berikut berdasarkan versi Python Anda:

$AGENT_TOOLSDIRECTORY/
    Python/
        {version number}/
            {platform}/
                {tool files}
            {platform}.complete

version number harus mengikuti format 1.2.3. platform harus x86 atau x64. tool files harus berupa file versi Python yang belum di-zip. {platform}.complete harus berupa file byte 0 yang terlihat seperti x86.complete atau x64.complete dan hanya menandakan alat telah diinstal di cache dengan benar.

Sebagai contoh yang lengkap dan konkret, berikut adalah bagaimana unduhan lengkap Python 3.11.4 untuk x64 akan terlihat di cache alat:

$AGENT_TOOLSDIRECTORY/
    Python/
        3.11.4/
            x64/
                {tool files}
            x64.complete

Pelajari selengkapnya tentang cache alat.

Untuk membuat skrip Anda berfungsi seperti yang mereka lakukan pada agen yang dihosting Microsoft, gunakan struktur symlinking dari PEP 394 pada sistem seperti Unix.

Perhatikan juga bahwa rilis ZIP Python yang dapat disematkan memerlukan konfigurasi tambahan untuk modul yang diinstal, termasuk pip. Jika memungkinkan, sebaiknya gunakan penginstal lengkap untuk mendapatkan pippenginstalan Python yang kompatibel.

Persyaratan

Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Tidak ada
Kemampuan Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan.
Pembatasan perintah Tugas ini berjalan menggunakan pembatasan perintah berikut: dibatasi
Variabel yang dapat diatur Tugas ini memiliki izin untuk mengatur variabel berikut: pythonLocation, PATH
Versi agen 2.182.1 atau lebih tinggi
Kategori tugas Alat
Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Tidak ada
Kemampuan Tugas ini tidak memenuhi tuntutan untuk tugas berikutnya dalam pekerjaan.
Pembatasan perintah Apa pun
Variabel yang dapat diatur Apa pun
Versi agen Semua versi agen yang didukung.
Kategori tugas Alat