Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Python-Pakete von Upstreams und externen Verbindungen anfordern
Wenn Sie eine Python-Paketversion von pypi.org
Es ist üblich, dass neue Assets für eine bestehende Paketversion auf pypi.org veröffentlicht werden. Beispielsweise veröffentlichen einige Projekte neue Assets, wenn neue Versionen von Python veröffentlicht werden. Wenn ein Python-Paket von CodeArtifact with installiert wirdpip install
, werden die im CodeArtifact Repository gespeicherten Paketversionen aktualisiert, um den neuesten Satz von Ressourcen von pypi.org widerzuspiegeln.
In ähnlicher Weise werden neue Elemente, die für eine Paketversion in einem CodeArtifact Upstream-Repository verfügbar sind, aber im aktuellen CodeArtifact Repository nicht vorhanden sind, bei pip install
der Ausführung im aktuellen Repository beibehalten.
Paketversionen wurden entfernt
Einige Paketversionen in pypi.org sind als Yanked markiert, was dem Paketinstallationsprogramm (wie pip) mitteilt, dass die Version nicht installiert werden sollte, es sei denn, sie ist die einzige, die einem Versionsbezeichner entspricht (entweder mit oder). ==
===
Weitere Informationen finden Sie unter PEP_592.
Wenn eine Paketversion in ursprünglich von einer externen Verbindung zu pypi.org
Woher weiß ich, ob eine Paketversion gelöscht wurde
Um zu überprüfen, ob eine Paketversion eingebunden ist CodeArtifact, können Sie versuchen, sie mit zu installieren. pip install
Wenn die Paketversion gesperrt ist, erhalten Sie eine Warnmeldung, die der folgenden ähnelt:packageName
===packageVersion
WARNING: The candidate selected for download or install is a yanked version
Um zu überprüfen, ob eine Paketversion in pypi.org entfernt wurde, können Sie die pypi.org-Listehttps://pypi.org/project/
packageName
/packageVersion
/
Den Sperrstatus für private Pakete festlegen
CodeArtifact unterstützt nicht das Setzen von Yankeed-Metadaten für Pakete, die direkt in Repositorys veröffentlicht wurden. CodeArtifact
Warum wird das Abrufen der neuesten Yankeed-Metadaten oder Assets für eine Paketversion CodeArtifact nicht unterstützt?
CodeArtifact Stellt normalerweise sicher, dass beim Abrufen einer Python-Paketversion aus einem CodeArtifact Repository die abgerufenen Metadaten den neuesten Wert auf pypi.org haben. up-to-date
Upstream-Konfiguration: Wenn die externe Verbindung zu pypi.org aus dem Repository oder seinen Upstreams entfernt wird disassociate-external-connection, werden die abgerufenen Metadaten nicht mehr von pypi.org aktualisiert. Ebenso sind beim Entfernen eines Upstream-Repositorys die Assets aus dem entfernten Repository und den Upstreams des entfernten Repositorys für das aktuelle Repository nicht mehr verfügbar. Das Gleiche gilt, wenn Sie die Kontrolle über die Herkunft von CodeArtifact Paketen verwenden, um zu verhindern, dass neue Versionen eines bestimmten Pakets abgerufen werden. Durch diese Einstellung upstream=BLOCK
wird verhindert, dass gelöschte Metadaten aktualisiert werden.
Paketversionsstatus: Wenn Sie den Status einer Paketversion auf etwas anderes als Published
oder setzenUnlisted
, werden gelöschte Metadaten und Assets der Paketversion nicht aktualisiert. Ähnlich verhält es sich, wenn Sie eine bestimmte Paketversion abrufen (sagen wirtorch 2.0.1
) und dieselbe Paketversion in einem Upstream-Repository mit einem Status vorhanden ist, der nicht Published
oder istUnlisted
, blockiert dies auch die Übertragung von Metadaten und die Weitergabe von Inhalten aus dem Upstream-Repository zum aktuellen Repository. Das liegt daran, dass andere Paketversionsstatus ein Hinweis darauf sind, dass die Versionen in keinem Repository mehr verwendet werden sollen.
Direktes Veröffentlichen: Wenn Sie eine bestimmte Paketversion direkt in einem CodeArtifact Repository veröffentlichen, wird dadurch verhindert, dass Metadaten entfernt und die Inhalte der Paketversion aus den Upstream-Repositorys und pypi.org aktualisiert werden. Nehmen wir zum Beispiel an, Sie laden ein Asset aus der Paketversion heruntertorch 2.0.1
, z. B. mit einem Webbrowsertorch-2.0.1-cp311-none-macosx_11_0_arm64.whl
, und veröffentlichen es dann mit Twine as in Ihrem CodeArtifact Repository. torch 2.0.1
CodeArtifact verfolgt, dass die Paketversion durch direkte Veröffentlichung in Ihrem Repository in die Domain gelangt ist, nicht über eine externe Verbindung zu pypi.org oder einem Upstream-Repository. In diesem Fall werden die abgerufenen Metadaten CodeArtifact nicht mit den Upstream-Repositorys oder pypi.org synchronisiert. Das Gleiche gilt, wenn Sie torch 2.0.1
in einem Upstream-Repository veröffentlichen — das Vorhandensein der Paketversion verhindert die Weitergabe von Metadaten und Inhalten an Repositorys weiter unten im Upstream-Diagramm.