So verwenden Sie Docker+DevPi zum Erstellen einer lokalen PyPi-Quelle

So verwenden Sie Docker+DevPi zum Erstellen einer lokalen PyPi-Quelle

Vor einiger Zeit musste ich für die Entwicklung häufig Pip-Downloads verwenden. Obwohl ich die Pip-Quelle auf eine inländische Quelle umgestellt hatte, war ich mit der Geschwindigkeit immer noch nicht zufrieden. Noch wichtiger war, dass die integrierte Testumgebung offline war. Um in der integrierten Testumgebung entwickeln zu können, musste ich offensichtlich meine eigene lokale Pip-Quelle erstellen. Vor der Verwendung von devpi habe ich pip2pi verwendet, aber es gab einen Fehler, der dazu führte, dass der Befehl tox in einer Offlineumgebung immer fehlschlug. Daher habe ich schließlich devpi zum Erstellen der Pip-Quelle verwendet. Hier wird die Docker-Bereitstellung verwendet, die praktisch und schnell ist. Wenn es versehentlich abstürzt, müssen Sie den Docker-Container nur erneut ausführen. Wenn Docker in Ihrer Umgebung nicht installiert ist, können Sie selbst nach Installationsmethoden suchen, beispielsweise im Dokument „Install Docker“ der Docker-Community. Wenn Sie ein CentOS-Benutzer sind, können Sie es mit der folgenden Methode installieren

sudo yum update
sudo yum -y installiere Docker
sudo systemctl Docker aktivieren
sudo systemctl starte Docker

Als nächstes verwenden wir Docker, um eine lokale Python-Image-Quelle bereitzustellen. Wir können das vorhandene Image auf Docker Hub verwenden. Ich wähle
muccg/devpi dieses Bild

# Legen Sie das Administratorkennwort des devpi-Servers fest DEVPI_PASSWORD = 123

mkdir -p /src/docker/devpi
mkdir /tmp/Steuerhaus

docker run -d --name devpi \
  --veröffentlichen 3141:3141 \
  --volume /tmp/Steuerhaus:/Steuerhaus
  --volume /srv/docker/devpi:/data \
  --env=DEVPI_PASSWORD=$DEVPI_PASSWORD \
  --restart immer \
  muccg/docker-devpi

Laden Sie als Nächstes das erforderliche Wheel-Paket lokal herunter. Der Inhalt der Datei requirements.txt ist die Liste der Python-Bibliotheken, die wir benötigen.

pip wheel --wheel-dir /tmp/wheelhouse -r Anforderungen.txt

Wenn die von Pip heruntergeladene Bibliothek bereits ein Wheel-Paket ist, wird die Datei direkt in /tmp/wheelhouse abgelegt.
Tar-Paket, pip erstellt zuerst ein Wheel-Paket, was einige Zeit dauern kann. Nach Abschluss des Downloads ähnelt der Inhalt von Wheelhouse

ll /tmp/Steuerhaus
insgesamt 524K
-rwxrwxrwx 1 Anfänger Anfänger 155K 6. April 23:40 certifi-2019.3.9-py2.py3-none-any.whl
-rwxrwxrwx 1 Anfänger Anfänger 131K 6. April 23:40 chardet-3.0.4-py2.py3-none-any.whl
-rwxrwxrwx 1 Anfänger Anfänger 58K 6. April 23:40 idna-2.8-py2.py3-none-any.whl
-rwxrwxrwx 1 Anfänger Anfänger 57K 6. April 23:40 Anfragen-2.21.0-py2.py3-none-any.whl
-rwxrwxrwx 1 Anfänger Anfänger 116K 6. April 23:40 urllib3-1.24.1-py2.py3-none-any.whl

Wenn der Download abgeschlossen ist und in der lokalen Umgebung der devpi-Client installiert ist, können Sie das Wheel-Paket direkt hochladen. Da wir jedoch bereits

Montieren Sie wheelhouse Steuerhausordner in den Container, oder arbeiten Sie direkt im Container

# Geben Sie den Container ein docker exec -it -u root devpi bash

# Einloggen und devpi hochladen, verwenden Sie http://<host_ip>:3141/root/public --set-cfg
devpi-Anmeldestamm 123
devpi-Upload --aus-Verzeichnis /wheelhouse

Nachdem der Upload abgeschlossen ist, können Sie http://<host_ip>:3141 verwenden, um den Status des lokalen Pip-Quellservers anzuzeigen.

Für den vorübergehenden Gebrauch können Sie die Optionen --index und --trusted-host von pip install verwenden.

pip install --index http://<host_ip>:3141/root/public/+simple/ \
      --trusted-host <Host-IP>

Oder ändern Sie die Datei pip.conf, um sie dauerhaft zu verwenden

# vim ~/.pip/pip.conf
[global]
index_url = http://<Host-IP>:3141/root/public/+simple/
vertrauenswürdiger Host = <Host-IP>
[suchen]
index = http://<Host-IP>:3141/root/public/

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So verwenden Sie das Python-Verpackungsmodulrad und veröffentlichen Python-Pakete auf PyPI
  • So laden Sie Pakete in Python auf pypi hoch
  • So verwenden Sie Docker zum Erstellen eines privaten pypi-Repositorys
  • Detaillierte Erläuterung des Prozesses zum Aufbau eines privaten pypi-Lagers
  • Perfekte Lösung für den pyinstaller-Verpackungsfehler, der die Abhängigkeit pypiwin32 oder pywin32-ctypes nicht finden kann
  • So veröffentlichen Sie Python-Pakete in PyPI und erstellen WHL-Dateien
  • Erstellen Sie ein selbst erstelltes Python-Paket und verwenden Sie pip, um die Übermittlung an pypi zu vermeiden. Installieren Sie es nur auf dem lokalen Computer [empfohlen]
  • Verwenden Sie die von Douban bereitgestellte inländische Pypi-Quelle
  • Python lädt Paket zu Pypi hoch (einfacher Code)
  • So installieren Sie Drittanbieterbibliotheken von einer nicht offiziellen PyPI-Website mit Pip in Python
  • So laden Sie Ihre eigenen Module auf pypi hoch

<<:  Detaillierte Erklärung zur Verwendung des MySQL-Sicherungsskripts mysqldump

>>:  Vuex in einem Artikel verstehen

Artikel empfehlen

So überwachen Sie den Linux-Serverstatus

Wir, insbesondere Linux-Ingenieure, haben täglich...

Design-Sharing der Download-Seite des Pengyou.com-Mobilclients (Bild und Text)

Schauen wir uns zunächst einige einfache Daten an:...

Implementierung der ELK-Bereitstellungsmethode mit einem Klick in Docker Compose

Installieren Filebeat hat Logstash-Forwarder voll...

Anbieterpräfix: Warum brauchen wir ein Browser-Engine-Präfix?

Was ist das Lieferantenpräfix? Anbieterpräfix – B...

Unterschied zwischen MySQL Btree-Index und Hash-Index

In MySQL werden die meisten Indizes (wie PRIMARY ...

HTML imitiert die Dropdown-Menüfunktion der Baidu-Enzyklopädienavigation

HTML imitiert die Dropdown-Menüfunktion der Baidu...