Menyimpan paket Python di Artifact Registry

Panduan memulai ini menunjukkan cara menyiapkan repositori Python Artifact Registry pribadi, mengupload paket, lalu menginstal paket.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Enable the Artifact Registry API.

    Enable the API

  5. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  6. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  7. Enable the Artifact Registry API.

    Enable the API

Meluncurkan Cloud Shell

Dalam panduan memulai ini, Anda akan menggunakan Cloud Shell, yang merupakan lingkungan shell untuk mengelola resource yang dihosting di Google Cloud.

Cloud Shell telah diinstal dengan Google Cloud CLI dan Python. Gcloud CLI menyediakan antarmuka command line utama untuk Google Cloud.

Meluncurkan Cloud Shell:

  1. Buka Konsol Google Cloud.

    Google Cloud console

  2. Di toolbar Konsol Google Cloud, klik Activate Cloud Shell:

Sesi Cloud Shell akan terbuka di dalam frame yang lebih rendah di konsol. Anda menggunakan shell ini untuk menjalankan perintah gcloud.

Instal paket yang diperlukan

Twine adalah alat untuk memublikasikan paket Python. Anda akan menggunakan Twine untuk mengunggah paket ke Artifact Registry.

Dalam panduan memulai ini, Anda dapat menggunakan penginstalan Python yang disertakan dengan Cloud Shell. Penginstalan default ini mencakup backend keyring Artifact Registry: untuk menangani autentikasi dengan Artifact Registry. Jika membuat lingkungan virtual atau menyiapkan Python di luar Cloud Shell, Anda harus menginstal backend keyring untuk autentikasi. Untuk mengetahui detailnya, lihat Mengautentikasi dengan keyring.

Untuk menginstal Twine, jalankan perintah:

pip install twine

Sekarang Anda siap untuk menyiapkan Artifact Registry.

Membuat repositori

Buat repositori untuk paket Anda.

  1. Jalankan perintah berikut untuk membuat repositori paket Python baru di project saat ini bernama quickstart-python-repo di lokasi us-central1.

    gcloud artifacts repositories create quickstart-python-repo \
        --repository-format=python \
        --location=us-central1 \
        --description="Python package repository"
    
  2. Jalankan perintah berikut untuk memverifikasi bahwa repositori Anda telah dibuat:

    gcloud artifacts repositories list
    
  3. Untuk menyederhanakan perintah gcloud, tetapkan repositori default ke quickstart-python-repo dan lokasi default ke us-central1. Setelah nilai ditetapkan, Anda tidak perlu menentukannya dalam perintah gcloud yang memerlukan repositori atau lokasi.

    Untuk menetapkan repositori, jalankan perintah:

    gcloud config set artifacts/repository quickstart-python-repo
    

    Untuk menetapkan lokasi, jalankan perintah:

    gcloud config set artifacts/location us-central1
    

    Untuk mengetahui informasi lebih lanjut tentang perintah ini, baca dokumentasi gcloud config set.

Mengonfigurasi autentikasi

Backend keyring Artifact Registry menemukan kredensial Anda menggunakan Kredensial Default Aplikasi (ADC), yaitu strategi yang mencari kredensial di lingkungan Anda.

Dalam panduan memulai ini, Anda akan:

  • Buat kredensial pengguna untuk ADC. Dalam lingkungan produksi, Anda harus menggunakan akun layanan dan memberikan kredensial dengan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS.
  • Sertakan URL repositori Artifact Registry dalam perintah pip dan twine sehingga Anda tidak perlu mengonfigurasi pip dan Twine dengan URL repositori.

Untuk membuat kredensial untuk ADC, jalankan perintah berikut:

gcloud auth application-default login

Untuk mengetahui detail tentang metode autentikasi dan menambahkan repositori ke konfigurasi pip dan Twine, lihat Menyiapkan autentikasi ke repositori paket Python.

Mendapatkan paket contoh

Saat Anda mem-build project Python, file distribusi akan disimpan di subdirektori dist di project Python Anda. Untuk menyederhanakan panduan memulai ini, Anda harus mendownload file paket bawaan.

  1. Buat folder project Python bernama python-quickstart.

    mkdir python-quickstart
    
  2. Buat subdirektori bernama dist, lalu ubah ke direktorinya.

    mkdir python-quickstart/dist
    cd python-quickstart/dist
    
  3. Download contoh paket Python yang digunakan dalam tutorial Panduan Pengguna untuk Pengemasan Python Mengemas Project Python.

    pip download sampleproject
    

    Perintah tersebut akan mendownload paket sampleproject dan dependensinya, peppercorn.

Mengupload paket ke repositori

Gunakan Twine untuk mengupload paket ke repositori Anda.

  1. Dari direktori dist, ubah ke direktori python-quickstart induk.

    cd ..
    
  2. Upload paket ke repositori dari direktori dist Anda.

    python3 -m twine upload --repository-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/ dist/*
    

    Saat Anda menjalankan perintah dengan python3 -m, Python akan menemukan benang dan menjalankan perintahnya. Jika perintah twine ada di jalur sistem, Anda dapat menjalankannya tanpa python3 -m.

Twine mengupload sampleproject dan peppercorn ke repositori Anda.

Melihat paket di repositori

Untuk memverifikasi bahwa paket Anda telah ditambahkan, cantumkan paket di repositori quickstart-python-repo.

Jalankan perintah berikut:

gcloud artifacts packages list --repository=quickstart-python-repo

Untuk melihat versi paket, jalankan perintah berikut:

gcloud artifacts versions list --package=PACKAGE

Dengan PACKAGE adalah ID paket.

Menginstal paket

Jalankan perintah berikut untuk menginstal paket:

pip install --index-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/simple/ sampleproject

Pemecahan masalah

Secara default, alat seperti pip dan Twine tidak menampilkan pesan error mendetail. Jika Anda mengalami error, jalankan kembali perintah dengan flag --verbose untuk mendapatkan output yang lebih mendetail. Lihat Pemecahan masalah untuk paket Python untuk informasi selengkapnya.

Pembersihan

Agar akun Google Cloud Anda tidak dikenakan biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

Sebelum menghapus repositori, pastikan paket apa pun yang ingin Anda simpan tersedia di lokasi lain.

Untuk menghapus repositori:

  1. Untuk menghapus repositori quickstart-python-repo, jalankan perintah berikut:

    gcloud artifacts repositories delete quickstart-python-repo
    
  2. Jika Anda ingin menghapus repositori default dan setelan lokasi yang Anda konfigurasikan untuk konfigurasi gcloud aktif, jalankan perintah berikut:

    gcloud config unset artifacts/repository
    gcloud config unset artifacts/location
    

Langkah selanjutnya