Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Richiesta di pacchetti Python da upstream e connessioni esterne
Quando si importa una versione del pacchetto Python da
È normale che nuove risorse vengano pubblicate su pypi.org per una versione del pacchetto esistente. Ad esempio, alcuni progetti pubblicano nuove risorse quando vengono rilasciate nuove versioni di Python. Quando un pacchetto Python viene installato da CodeArtifact conpip install
, le versioni del pacchetto conservate nel CodeArtifact repository vengono aggiornate per riflettere l'ultimo set di risorse di pypi.org.
Allo stesso modo, se sono disponibili nuove risorse per una versione del pacchetto in un CodeArtifact repository upstream che non sono presenti nel CodeArtifact repository corrente, verranno conservate nel repository corrente quando vengono eseguite. pip install
Versioni del pacchetto modificate
Alcune versioni dei pacchetti in pypi.org sono contrassegnate come cancellate, il che comunica all'installatore del pacchetto (come pip) che la versione non deve essere installata a meno che non sia l'unica che corrisponde a un identificatore di versione (usando uno o). ==
===
Vedi PEP_592 per maggiori informazioni.
Se una versione del pacchetto in CodeArtifact è stata originariamente recuperata da una connessione esterna a pypi.org
Come sapere se una versione del pacchetto è stata rimossa
Per verificare se la versione di un pacchetto è stata inserita CodeArtifact, puoi provare a installarla con. pip install
Se la versione del pacchetto viene rimossa, riceverai un messaggio di avviso simile al seguente:packageName
===packageVersion
WARNING: The candidate selected for download or install is a yanked version
Per verificare se una versione del pacchetto è stata rimossa in pypi.orghttps://pypi.org/project/
packageName
/packageVersion
/
Impostare lo status di «annullato» sui pacchetti privati
CodeArtifact non supporta l'impostazione di metadati rimossi per i pacchetti pubblicati direttamente negli archivi. CodeArtifact
Perché CodeArtifact non sta recuperando gli ultimi metadati o risorse eliminati per una versione del pacchetto?
Normalmente, CodeArtifact assicura che quando una versione del pacchetto Python viene recuperata da un CodeArtifact repository, i metadati rimossi abbiano il valore più recente su up-to-date pypi.org.
Configurazione upstream: se la connessione esterna a pypi.org viene rimossa dal repository o dai relativi flussi upstream utilizzando disassociate-external-connection, i metadati rimossi non verranno più aggiornati da pypi.org. Allo stesso modo, se rimuovi un repository upstream, le risorse dal repository rimosso e dagli upstream del repository rimosso non saranno più disponibili per il repository corrente. Lo stesso vale se si utilizzano i controlli di origine dei CodeArtifact pacchetti per impedire che vengano recuperate nuove versioni di un pacchetto specifico: l'impostazione upstream=BLOCK
bloccherà l'aggiornamento dei metadati eliminati.
Stato della versione del pacchetto: se imposti lo stato di una versione del pacchetto su un valore diverso da Published
oUnlisted
, i metadati e le risorse della versione del pacchetto eliminati non verranno aggiornati. Allo stesso modo, se state recuperando una versione specifica del pacchetto (ad esempiotorch 2.0.1
) e la stessa versione del pacchetto è presente in un repository upstream con uno stato diverso Published
oppureUnlisted
, ciò bloccherà anche la propagazione dei metadati e delle risorse sottratti dal repository upstream al repository corrente. Questo perché gli altri stati delle versioni del pacchetto indicano che le versioni non sono più pensate per essere utilizzate in nessun repository.
Pubblicazione diretta: se pubblichi una versione specifica del pacchetto direttamente in un CodeArtifact repository, ciò impedirà l'eliminazione dei metadati e dell'aggiornamento delle risorse per la versione del pacchetto dai suoi repository originali e da pypi.org. Ad esempio, supponiamo che tu scarichi una risorsa dalla versione del pacchettotorch 2.0.1
, ad esempio usando un browser webtorch-2.0.1-cp311-none-macosx_11_0_arm64.whl
, e poi la pubblichi nel tuo repository usando twine as. CodeArtifact torch 2.0.1
CodeArtifact traccia che la versione del pacchetto è entrata nel dominio mediante pubblicazione diretta nel tuo repository, non da una connessione esterna a pypi.org o da un repository upstream. In questo caso, CodeArtifact non mantiene i metadati eliminati sincronizzati con i repository upstream o pypi.org. Lo stesso vale se pubblicate torch 2.0.1
in un repository upstream: la presenza della versione del pacchetto bloccherà la propagazione dei metadati e delle risorse rimossi nei repository più in basso nel grafico a monte.