Archivia i pacchetti Python in Artifact Registry
Questa guida rapida mostra come configurare un repository Python privato di Artifact Registry, caricare un pacchetto e quindi installarlo.
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
Nella console di Google Cloud Console, nella pagina del selettore dei progetti, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva l'API Artifact Registry.
-
Nella console di Google Cloud Console, nella pagina del selettore dei progetti, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva l'API Artifact Registry.
Avvia Cloud Shell
In questa guida rapida, utilizzerai Cloud Shell, un ambiente shell per la gestione delle risorse ospitate su Google Cloud.
In Cloud Shell sono preinstallati Google Cloud CLI e Python. gcloud CLI fornisce la principale interfaccia a riga di comando per Google Cloud.
Avvia Cloud Shell:
Vai alla console Google Cloud.
Nella barra degli strumenti della console Google Cloud, fai clic su Attiva Cloud Shell:
Si apre una sessione di Cloud Shell all'interno di un frame più in basso nella console.
Puoi utilizzare questa shell per eseguire i comandi gcloud
.
Installa i pacchetti richiesti
Twine è uno strumento per la pubblicazione di pacchetti Python. Utilizzerai Twine per caricare un pacchetto in Artifact Registry.
In questa guida rapida, utilizzerai l'installazione Python inclusa in Cloud Shell. Questa installazione predefinita include il backend del keyring di Artifact Registry: per gestire l'autenticazione con Artifact Registry. Se crei un ambiente virtuale o configuri Python al di fuori di Cloud Shell, devi installare il backend del keyring per l'autenticazione. Per maggiori dettagli, vedi Autenticazione con il keyring.
Per installare Twine, esegui questo comando:
pip install twine
Ora è tutto pronto per configurare Artifact Registry.
Crea un repository
Creare il repository per i pacchetti.
Esegui questo comando per creare un nuovo repository di pacchetti Python nel progetto corrente denominato
quickstart-python-repo
nella localitàus-central1
.gcloud artifacts repositories create quickstart-python-repo \ --repository-format=python \ --location=us-central1 \ --description="Python package repository"
Esegui questo comando per verificare che il repository sia stato creato:
gcloud artifacts repositories list
Per semplificare i comandi
gcloud
, imposta il repository predefinito suquickstart-python-repo
e la posizione predefinita suus-central1
. Dopo aver impostato i valori, non è necessario specificarli nei comandigcloud
che richiedono un repository o una posizione.Per impostare il repository, esegui il comando:
gcloud config set artifacts/repository quickstart-python-repo
Per impostare la località, esegui il comando:
gcloud config set artifacts/location us-central1
Per ulteriori informazioni su questi comandi, consulta la documentazione di gcloud config set.
Configura l'autenticazione
Il backend del keyring di Artifact Registry trova le tue credenziali utilizzando le Credenziali predefinite dell'applicazione (ADC), una strategia che cerca le credenziali nel tuo ambiente.
In questa guida rapida, scoprirai:
- Genera le credenziali utente per ADC. In un ambiente di produzione, devi utilizzare un account di servizio e fornire le credenziali con la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALS
. - Includi l'URL del repository Artifact Registry nei comandi
pip
etwine
in modo da non dover configurare pip e Twine con l'URL del repository.
Per generare le credenziali per ADC, esegui questo comando:
gcloud auth application-default login
Per maggiori dettagli sui metodi di autenticazione e sull'aggiunta di repository alla configurazione pip e Twine, consulta Configurazione dell'autenticazione nei repository di pacchetti Python.
Ottieni un pacchetto di esempio
Quando crei un progetto Python, i file di distribuzione vengono salvati in una sottodirectory dist
del progetto Python. Per semplificare questa guida rapida, scarica i file dei pacchetti predefiniti.
Crea una cartella di progetto Python denominata
python-quickstart
.mkdir python-quickstart
Crea una sottodirectory denominata
dist
, quindi passa alla directory.mkdir python-quickstart/dist cd python-quickstart/dist
Scarica i pacchetti Python di esempio utilizzati nel tutorial Packaging Python Projects della guida dell'utente per la creazione di pacchetti Python.
pip download sampleproject
Il comando scarica il pacchetto
sampleproject
e la sua dipendenza,peppercorn
.
Carica il pacchetto nel repository
Utilizza Twine per caricare i pacchetti nel tuo repository.
Dalla directory
dist
, passa alla directorypython-quickstart
principale.cd ..
Carica i pacchetti nel repository dalla directory
dist
.python3 -m twine upload --repository-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/ dist/*
Quando esegui il comando con
python3 -m
, Python individua lo spago ed esegue il comando. Se il comandotwine
si trova nel percorso del sistema, puoi eseguirlo senzapython3 -m
.
Twine carica sia sampleproject
sia peppercorn
nel tuo repository.
Visualizza il pacchetto nel repository
Per verificare che il pacchetto sia stato aggiunto, elenca i pacchetti nel repository quickstart-python-repo
.
Esegui questo comando:
gcloud artifacts packages list --repository=quickstart-python-repo
Per visualizzare le versioni di un pacchetto, esegui questo comando:
gcloud artifacts versions list --package=PACKAGE
Dove PACKAGE è l'ID pacchetto.
Installa il pacchetto
Esegui questo comando per installare il pacchetto:
pip install --index-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/simple/ sampleproject
Risoluzione dei problemi
Per impostazione predefinita, strumenti come pip e Twine non restituiscono messaggi di errore dettagliati.
Se si verifica un errore, esegui nuovamente il comando con il flag --verbose
per ottenere un output più dettagliato. Per ulteriori informazioni, consulta Risoluzione dei problemi relativi ai pacchetti Python.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.
Prima di rimuovere il repository, assicurati che tutti i pacchetti che vuoi conservare siano disponibili in un'altra posizione.
Per eliminare il repository:
Per eliminare il repository
quickstart-python-repo
, esegui questo comando:gcloud artifacts repositories delete quickstart-python-repo
Se vuoi rimuovere il repository predefinito e le impostazioni di posizione configurate per la configurazione
gcloud
attiva, esegui i comandi seguenti:gcloud config unset artifacts/repository gcloud config unset artifacts/location
Passaggi successivi
- Scopri di più sulla configurazione dell'autenticazione
- Scopri di più sulla gestione dei repository
- Scopri di più sulla gestione dei pacchetti
- Leggi le nostre risorse su DevOps ed esplora il nostro programma di ricerca.