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.
Der Python Package Index (PyPI) ist ein Repository mit Software für die Programmiersprache Python. Dieses Thema befasst sich mit den Details, die zur Unterstützung der Verwendung von pip-installierten Paketen erforderlich sind (wie vom Sitzungsersteller mithilfe des --additional-python-modules
-Flags angegeben).
Die Verwendung AWS Glue interaktiver Sitzungen mit einem Connector führt zur Verwendung des VPC-Netzwerks über das für den Connector angegebene Subnetz. Folglich sind AWS Dienste und andere Netzwerkziele nur verfügbar, wenn Sie eine spezielle Konfiguration einrichten.
Zu den Lösungen für dieses Problem gehören:
Nutzung eines Internet-Gateways, das für Ihre Sitzung erreichbar ist.
Einrichten und Verwenden eines S3-Buckets mit einem PyPI/einfachen Repository, das den transitiven Abschluss der Abhängigkeiten eines Paketsatzes enthält.
Verwendung eines CodeArtifact Repositorys, das PyPI spiegelt und an Ihre VPC angeschlossen ist.
Einrichten eines Internet-Gateways
Die technischen Aspekte werden in den NAT-Gateway-Anwendungsfällen detailliert beschrieben. Beachten Sie jedoch die folgenden Anforderungen für die Verwendung von --additional-python-modules
. Insbesondere erfordert --additional-python-modules
Zugriff auf pypi.org, was durch die Konfiguration Ihrer VPC bestimmt wird. Beachten Sie die folgenden Voraussetzungen:
Die Anforderung, zusätzliche Python-Module über pip install für eine Benutzersitzung zu installieren. Wenn die Sitzung einen Konnektor verwendet, kann dies Auswirkungen auf Ihre Konfiguration haben.
Wenn ein Konnektor mit
--additional-python-modules
verwendet wird, muss beim Starten der Sitzung das mit demPhysicalConnectionRequirements
des Konnektor verknüpfte Subnetz einen Netzwerkpfad für die Verbindung zu pypi.org bereitstellen.Sie müssen feststellen, ob Ihre Konfiguration korrekt ist oder nicht.
Einrichten eines Amazon-S3-Buckets zum Hosten eines gezielten PyPI/einfachen Repositorys
In diesem Beispiel wird in Amazon S3 ein PyPI-Spiegel für eine Reihe von Paketen und deren Abhängigkeiten eingerichtet.
So richten Sie den PyPI-Spiegel für eine Reihe von Paketen ein:
# pip download all the dependencies
pip download -d s3pypi --only-binary :all: plotly gglplot
pip download -d s3pypi --platform manylinux_2_17_x86_64 --only-binary :all: psycopg2-binary
# create and upload the pypi/simple index and wheel files to the s3 bucket
s3pypi -b test-domain-name --put-root-index -v s3pypi/*
Wenn Sie bereits über ein vorhandenes Artefakt-Repository verfügen, verfügt dieses über eine Index-URL zur Verwendung durch pip, die Sie anstelle der Beispiel-URL für den Amazon-S3-Bucket wie oben angeben können.
So verwenden Sie die benutzerdefinierte Index-URL mit einigen Beispielpaketen:
%%configure
{
"--additional-python-modules": "psycopg2_binary==2.9.5",
"python-modules-installer-option": "--no-cache-dir --verbose --index-url https://test-domain-name.s3.amazonaws.com/ --trusted-host test-domain-name.s3.amazonaws.com"
}
Einen CodeArtifact Pypi-Spiegel einrichten, der an Ihre VPC angeschlossen ist
So richten Sie einen Spiegel ein:
Erstellen Sie ein Repository in derselben Region wie das vom Konnektor verwendete Subnetz.
Wählen Sie
Public upstream repositories
und klicken Sie aufpypi-store
.Gewähren Sie Zugriff auf das Repository von der VPC für das Subnetz.
Geben Sie die richtige
--index-url
mithilfe despython-modules-installer-option
an.%%configure { "--additional-python-modules": "psycopg2_binary==2.9.5", "python-modules-installer-option": "--no-cache-dir --verbose --index-url https://test-domain-name.s3.amazonaws.com/ --trusted-host test-domain-name.s3.amazonaws.com" }
Weitere Informationen finden Sie unter Verwendung CodeArtifact von einer VPC aus.