Traffine I/O

Bahasa Indonesia

2023-03-03

Konfigurasi Python 3.10 di GitHub Actions

Pendahuluan

Dalam artikel ini, saya akan menunjukkan langkah-langkah yang diperlukan untuk mengatur Python 3.10 di GitHub Actions, masalah yang akan dihadapi, dan metode untuk mengatasinya.

Konfigurasi Python 3.10 di GitHub Actions

GitHub Actions menggunakan alur kerja (workflows) untuk mengotomatisasi proses, yang didefinisikan dalam berkas YAML. Untuk menggunakan Python 3.10 dalam alur kerja Anda, Anda perlu menentukannya dalam berkas alur kerja Anda. Berkas ini biasanya disimpan dalam direktori .github/workflows/ dari repositori Anda. Di sini, kita akan menamai berkas alur kerja kita setup-python310.yml.

Kode untuk mengatur Python 3.10 dalam alur kerja GitHub Action Anda seharusnya tampak seperti ini:

.github/workflows/setup-python310.yml
name: Setup Python 3.10

on:
  workflow_dispatch:

jobs:
  setup_python_310:

    runs-on: ubuntu-20.04

    steps:
      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: 3.10

      - name: Display Python version
        run: python -c "import sys; print(sys.version)"

Dalam alur kerja di atas, tugas setup_python_310 dijalankan dalam lingkungan virtual Ubuntu 20.04. Ini terdiri dari dua langkah: pertama, mengatur Python dengan versi yang diinginkan (dalam hal ini 3.10), dan kedua, menampilkan versi Python untuk mengonfirmasi pengaturan. Alur kerja ini dipicu secara manual melalui acara workflow_dispatch.

Namun, pengaturan di atas tidak berfungsi seperti yang diharapkan karena masalah dalam cara YAML mengartikan angka.

Error Versi Tidak Ditemukan

Meskipun mengatur Python 3.10 dengan benar dalam berkas alur kerja kita, eksekusi gagal dan menghasilkan kesalahan yang menyatakan bahwa versi Python 3.1 tidak ditemukan dalam cache lokal:

Version 3.1 was not found in the local cache
Error: The version '3.1' with architecture 'x64' was not found for Ubuntu 20.04.
The list of all available versions can be found here: https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json

Masalahnya terletak pada bahasa YAML itu sendiri. Dalam YAML, angka desimal seperti 3.10 diperlakukan sebagai angka desimal dan angka nol di belakang dihapus, sehingga 3.10 diartikan sebagai 3.1.

Solusi: Memformat Versi Python dengan Benar

Untuk mencegah YAML memotong angka nol di belakang, kita hanya perlu mengapit nomor versi dengan tanda kutip. Ini memaksa YAML untuk memperlakukannya sebagai string daripada angka desimal:

.github/workflows/setup-python310.yml
  name: Setup Python 3.10

  on:
    workflow_dispatch:

  jobs:
    setup_python_310:

      runs-on: ubuntu-20.04

      steps:
        - name: Setup Python
          uses: actions/setup-python@v4
          with:
-           python-version: 3.10
+           python-version: '3.10'

        - name: Display Python version
          run: python -c "import sys; print(sys.version)"

Dengan melakukan perubahan kecil ini, versi Python kita dikenali dengan benar dan pengaturan berlangsung seperti yang diharapkan.

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!