Maison >développement back-end >Tutoriel Python >Comment installer des packages Python à partir du registre GCP Artifact dans Docker Fichier
Comme décrit dans le document, il est très simple de publier le package dans le registre.
库
Après avoir publié votre sac au registre des artefacts, vous pouvez le fournir en tant qu'élément de dépendance pour d'autres projets.
<code class="language-bash">poetry source add --priority=supplemental gcp_registry https://{LOCATION}-python.pkg.dev/{REPO}/{PACKAGE}/ poetry publish --no-interaction --build --repository gcp_registry</code>
Package d'installation
Installation d'un package sur la machine locale, veuillez créer un fichier exigence_private.txt:Ensuite, utilisez la commande suivante pour installer des packages:
<code>--index-url https://{LOCATION}-python.pkg.dev/{REPO}/{PACKAGE}/simple/ --extra-index-url https://pypi.org/simple {YOUR_PACKAGE_NAME}</code>
Le traitement du package de clés Authentification du registre des artefacts. Assurez-vous que votre application est par défaut l'application (ADC) avant de continuer.
<code class="language-bash">pip install keyring pip install keyrings.google-artifactregistry-auth pip install -r /opt/requirements_private.txt</code>
Docker Challenge
Vous ne souhaitez pas copier des informations sensibles (telles que votre fichier de compte de service) sur le miroir Docker.
Solution
<code class="language-dockerfile">ARG GOOGLE_APPLICATION_CREDENTIALS COPY requirements_private.txt /opt/requirements_private.txt RUN --mount=type=secret,id=creds,target=/opt/mykey.json,mode=0444 \ pip install keyring && \ pip install keyrings.google-artifactregistry-auth && \ pip install -r /opt/requirements_private.txt COPY requirements.txt /opt/requirements.txt RUN pip install -r /opt/requirements.txt</code>Comme vous pouvez le voir, vous pouvez avoir plusieurs fichiers d'exigences. Dans mon exemple, le fichier exigence.txt est utilisé pour héberger le package dans le registre public PYPI. Ensuite, votre fichier docker_compose.yml
<code>--index-url https://{LOCATION}-python.pkg.dev/{REPO}/{PACKAGE}/simple/ --extra-index-url https://pypi.org/simple {YOUR_PACKAGE_NAME}</code>Ensuite, vous pouvez exécuter la commande de construction:
<code class="language-yaml">services: app: build: context: . args: - GOOGLE_APPLICATION_CREDENTIALS=/opt/mykey.json secrets: - creds secrets: creds: file: "C:/your/local/host/path/to/google_service_account.json"</code>J'espère que cet article vous aidera à intégrer avec Artefact Registry et Docker.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!