So beheben Sie das Timeout während des Pip-Vorgangs in Linux

So beheben Sie das Timeout während des Pip-Vorgangs in Linux

So lösen Sie das Timeout-Problem, wenn Pip in Linux-Instanzen verwendet wird

pip ist eines der beliebtesten Python-Paketverwaltungstools. Viele Alibaba Cloud-Benutzer verwenden pip, um Systemquellen zu aktualisieren. Die Pip-Quelladressen von Alibaba Cloud lauten wie folgt:

(Standard) Öffentliches Netzwerk: mirrors.aliyun.com

Privates Netzwerk VPC-Intranet: mirrors.cloud.aliyuncs.com

Klassisches Netzwerk-Intranet: mirrors.aliyuncs.com

Beschreibung des Phänomens

Pip-Anfragen für Linux-Instanzen laufen gelegentlich ab oder schlagen fehl. Derzeit sind die folgenden öffentlichen Bilder betroffen:

CentOS

Debian

Ubuntu

SUSE

OpenSUSE

Aliyun Linux

Ursachenanalyse

Die Standardzugriffsadresse für Pip-Anfragen ist mirrors.aliyun.com, und die Instanz, die auf diese Adresse zugreift, muss auf das öffentliche Netzwerk zugreifen können. Wenn Ihrer Instanz keine öffentliche IP zugewiesen ist, kann es zu einem Timeout der Pip-Anforderung kommen.

Problemumgehung

Sie können das Problem mit einer der folgenden Methoden beheben.

Methode 1

Weisen Sie Ihrer Instanz eine öffentliche IP-Adresse zu, binden Sie also eine elastische öffentliche IP-Adresse (EIP) an die Instanz. Prepaid-Instanzen können öffentliche IP-Adressen auch durch Upgrade oder Downgrade neu zuweisen.

Methode 2

Wenn es zu einer Verzögerung bei der Pip-Antwort kommt, können Sie das Skript fix_pypi.sh in der ECS-Instanz ausführen und dann den Pip-Vorgang wiederholen.

Remote-Verbindungsinstanz.

Führen Sie wget http://image-offline.oss-cn-hangzhou.aliyuncs.com/fix/fix_pypi.sh aus, um die Datei zu erhalten.

Führen Sie das Skript aus:

VPC-Instanz: Führen Sie bash fix_pypi.sh "mirrors.cloud.aliyuncs.com" aus.

Klassische Netzwerkinstanz: Führen Sie bash fix_pypi.sh "mirrors.aliyuncs.com" aus.

Versuchen Sie den Pip-Vorgang erneut.

Nachfolgend sehen Sie den Skriptinhalt von fix_pypi.sh:

#!/bin/bash
Funktion config_pip() {
  pypi_source=$1
  wenn [[ ! -f ~/.pydistutils.cfg ]]; dann
Katze > ~/.pydistutils.cfg << EOF
[einfache Installation]
index-url=http://$pypi_source/pypi/simple/
Ende der Laufzeit
  anders
    sed -i "s#index-url.*#index-url=http://$pypi_source/pypi/simple/#" ~/.pydistutils.cfg
  fi
  wenn [[ ! -f ~/.pip/pip.conf ]]; dann
  mkdir -p ~/.pip
Katze > ~/.pip/pip.conf << EOF
[global]
index-url=http://$pypi_source/pypi/simple/
[installieren]
vertrauenswürdiger Host = $pypi_source
Ende der Laufzeit
  anders
    sed -i "s#index-url.*#index-url=http://$pypi_source/pypi/simple/#" ~/.pip/pip.conf
    sed -i "s#trusted-host.*#trusted-host=$pypi_source#" ~/.pip/pip.conf
  fi
}
konfiguration_pip $1

Dies sind alle Inhalte und Wissenspunkte dieses Artikels. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Lösung für das Timeout-Problem bei der Installation von Docker-Compose mit PIP
  • Lösung für das Timeout-Problem bei der Python-Pip-Nutzung
  • Detaillierte Erklärung der Lösung für langsame, Timeout- und fehlerbehaftete Installationen von Drittanbieterbibliotheken (Toolkits) mit pip in Python
  • Lösung für das Timeout-Problem bei der Installation des Python-Pakets mit PIP

<<:  So erstellen Sie eine MySQL-Datenbank (de1) mit Befehlen

>>:  Mini-Programm implementiert Listen-Countdown-Funktion

Artikel empfehlen

Node.js versendet E-Mails basierend auf dem STMP-Protokoll und dem EWS-Protokoll

Inhaltsverzeichnis 1 Node.js-Methode zum Senden v...

Implementierung der Docker-Bereitstellung von Webprojekten

Im vorherigen Artikel wurde der Docker-Dienst ins...

Detaillierter Prozess für den Einstieg mit Docker Compose HelloWorld

Voraussetzungen Compose ist ein Tool zum Orchestr...

So löschen Sie Junk-Dateien elegant in Linux

Ich frage mich, ob Sie wie ich ein Programmierer ...

Detailliertes Tutorial zum Erstellen eines privaten Git-Servers unter Linux

1. Server-Setup Das Remote-Repository unterscheid...

Detaillierte Erklärung des daily_routine Beispielcodes in Linux

Schauen Sie sich zunächst den Beispielcode an: #/...

Vollständige Schritte zum Mounten einer neuen Datenfestplatte in CentOS7

Vorwort Ich habe gerade einen neuen VPS gekauft. ...

Zwei Boxmodelle in Webseiten (W3C-Boxmodell, IE-Boxmodell)

Es gibt zwei Arten von Webseiten-Boxmodellen: 1: S...

So implementieren Sie eine Remote-Verbindung für Redis unter Linux

Nachdem Sie Redis unter Linux installiert haben, ...

Fassen Sie den User-Agent beliebter Browser zusammen

1. Grundkenntnisse: HTTP-Header-Benutzeragent Use...