Bagikan melalui


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.

Sintaksis

# 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.

Masukan

spesifikasi Versi versionSpec -
string. Dibutuhkan. Nilai default: 3.x.

Menentukan rentang versi atau versi yang tepat dari versi Python yang akan digunakan, menggunakan sintaks rentang versi SemVer. Pelajari selengkapnya tentang SemVer .


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

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


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

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


githubToken - token GitHub untuk registri python GitHub Actions
string. Fakultatif. 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 sebelumnya ke variabel lingkungan PATH untuk membuatnya tersedia dalam tugas atau skrip berikutnya tanpa menggunakan variabel output.


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

Menentukan arsitektur target (x86 atau x64) dari 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.

Komentar

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 dipasang secara berdampingan, atau agen yang dihost sendiri dengan Agent.ToolsDirectory dikonfigurasi (lihat TANYA Jawab Umum ).
  • 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.

Nota

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," perintah python dalam skrip berikutnya adalah 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 interpreter aktual untuk Python 3.11.

python3 disimulinkan ke penerjemah itu, dan python adalah 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 direktori _work/_tool agen; atau, jalur dapat ditimpa oleh variabel lingkungan AGENT_TOOLSDIRECTORY. 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 tidak 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 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 penginstalan Python yang kompatibel dengan pip.

Persyaratan

Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Tidak
Kemampuan Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan.
pembatasan Perintah Tugas ini berjalan menggunakan batasan 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