web-dev-qa-db-fra.com

pip.conf ne fait pas attention à l'hôte de confiance

J'ai mon pip.conf fichier comme suit:

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

Cependant, chaque fois que j'essaie d'installer un package (juste un package de test) à partir du référentiel pypi privé, je reçois une erreur qui me demande d'ajouter --trusted-Host <private IP>. Si je le fais, je peux installer le package avec succès, donc je sais que pip lit le pip.conf fichier. Pourquoi ne respecte-t-il pas le trusted-Host config? J'ai vérifié trois fois que les IP correspondent dans le fichier de configuration.

Plusieurs blogs et recherches superficielles sur Google semblent suggérer que c'est le cas. ( https://pseudoscripter.wordpress.com/2016/05/07/pip-the-repository-located-at-some-ip-is-not-a-trusted-or-secure-Host-and -est-être-ignoré / )

11
celestialorb

Cela ne pourrait-il pas être un problème de pip.conf différent ayant des configurations différentes? Selon les documents officiels :

Les noms et emplacements des fichiers de configuration varient légèrement d'une plateforme à l'autre. Vous pouvez avoir une configuration par utilisateur, par virtualenv ou à l'échelle du site (partagée entre tous les utilisateurs).

  • Sous Unix, le fichier de configuration par défaut est: $ HOME/.config/pip/pip.conf qui respecte le XDG_CONFIG_HOME variable d'environnement.
  • Il existe également un fichier de configuration par utilisateur hérité qui est également respecté et se trouve à $ HOME/.pip/pip.conf sous Unix et macOS .
  • Dans un virtualenv, sur Unix et macOS, le fichier est $ VIRTUAL_ENV/pip.conf
  • Sur tout le site, sous Unix, le fichier peut se trouver dans /etc/pip.conf . Il peut également se trouver dans un sous-répertoire "pip" de l'un des chemins définis dans la variable d'environnement XDG_CONFIG_DIRS (s'il existe), par exemple /etc/xdg/pip/pip.conf .
3
gmauch

J'ai copié mon pip.conf de $ HOME/.pip/pip.conf dans /etc/pip.conf et ça a fonctionné!

2
celestialorb

Pour vérifier quel fichier de configuration est examiné, exécutez: pip config --editor pathtoeditorofyourchoice edit, cela ouvrira le fichier ini lié. S'il n'existe pas, l'éditeur (notepad ++) indiquera qu'il n'y a pas de fichier à un chemin spécifique <- et il y a votre chemin où vous devez placer le fichier.

Considérez également comme indiqué ici ( https://pip.pypa.io/en/stable/user_guide ):

Si plusieurs fichiers de configuration sont trouvés par pip, ils sont combinés dans l'ordre suivant:

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

Chaque lecture de fichier remplace toutes les valeurs lues à partir des fichiers précédents, donc si le délai d'expiration global est spécifié à la fois dans le fichier à l'échelle du site et dans le fichier par utilisateur, cette dernière valeur sera utilisée.

Les documents disent également:

Vous pouvez définir un emplacement de chemin personnalisé pour ce fichier de configuration à l'aide de la variable d'environnement PIP_CONFIG_FILE.

Cependant, l'exécution de la commande supérieure avec cette variable d'environnement configurée conduit à un

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