web-dev-qa-db-de.com

pip.conf beachtet Trusted-Host nicht

Ich habe meine pip.conf - Datei wie folgt:

[global]
trusted-Host = <private IP>
extra-index-url = http://<private IP>/pypi

Wenn ich jedoch versuche, ein Paket (nur ein Testpaket) aus dem privaten pypi-Repository zu installieren, erhalte ich eine Fehlermeldung, in der ich aufgefordert werde, --trusted-Host <private IP> Hinzuzufügen. In diesem Fall kann ich das Paket erfolgreich installieren, sodass ich weiß, dass pip die Datei pip.conf Liest. Warum respektiert es die trusted-Host - Konfiguration nicht? Ich habe dreimal überprüft, ob die IPs in der Konfigurationsdatei übereinstimmen.

Mehrere Blogs und flüchtige Suchanfragen von Google scheinen darauf hinzudeuten, dass dies der Fall sein sollte. ( https://pseudoscripter.wordpress.com/2016/05/07/pip-the-repository-located-at-some-ip-is-not-a-trusted-or-secure-Host-and- -ist-ignoriert / )

11
celestialorb

Könnte dies nicht ein Problem sein, wenn verschiedene pip.conf unterschiedliche Konfigurationen haben? Laut den offiziellen Dokumenten :

Die Namen und Speicherorte der Konfigurationsdateien variieren je nach Plattform geringfügig. Möglicherweise verfügen Sie über eine Konfiguration pro Benutzer, pro virtuellem Server oder standortweit (für alle Benutzer freigegeben).

  • Unter Unix lautet die Standardkonfigurationsdatei : $ HOME/.config/pip/pip.conf , die die XDG_CONFIG_HOME berücksichtigt Umgebungsvariable.
  • Es gibt auch eine ältere Konfigurationsdatei pro Benutzer, die ebenfalls beachtet wird und sich unter Unix und macOS unter $ HOME/.pip/pip.conf befindet .
  • In einer virtuellen Umgebung ist die Datei unter Unix und MacOS $ VIRTUAL_ENV/pip.conf .
  • Auf der gesamten Site befindet sich die Datei unter Unix möglicherweise in /etc/pip.conf . Alternativ kann es sich in einem "pip" -Unterverzeichnis eines der Pfade befinden, die in der Umgebungsvariablen XDG_CONFIG_DIRS (falls vorhanden) festgelegt sind, zum Beispiel /etc/xdg/pip/pip.conf .
3
gmauch

Kopierte meine pip.conf von $ HOME/.pip/pip.conf nach /etc/pip.conf und es funktionierte!

2
celestialorb

So überprüfen Sie, welche Konfigurationsdatei gerade angezeigt wird: pip config --editor pathtoeditorofyourchoice edit, dies öffnet die verknüpfte INI-Datei. Ist dies nicht der Fall, gibt der Editor (Notepad ++) an, dass sich unter einem bestimmten Pfad keine Datei befindet <- und unter diesem Pfad sollten Sie die Datei dann ablegen.

Beachten Sie auch Folgendes ( https://pip.pypa.io/en/stable/user_guide ):

Wenn mehrere Konfigurationsdateien von pip gefunden werden, werden sie in der folgenden Reihenfolge kombiniert:

The site-wide file is read
The per-user file is read
The virtualenv-specific file is read

Jede gelesene Datei überschreibt alle aus vorherigen Dateien gelesenen Werte. Wenn also das globale Zeitlimit sowohl in der Site-weiten Datei als auch in der Pro-Benutzer-Datei angegeben ist, wird der letztere Wert verwendet.

Die Dokumente sagen auch:

Sie können einen benutzerdefinierten Pfad für diese Konfigurationsdatei mithilfe der Umgebungsvariablen PIP_CONFIG_FILE festlegen.

Wenn Sie jedoch den oberen Befehl mit dieser Umgebungsvariablen ausführen, führt dies zu a

Fatal Internal error [id=2]. Please report as a bug.
1
planteater