Il arrive parfois de devoir intervenir sur des machines étant off-grid n’ayant pas d’accès au net. La plupart du temps un proxy socks, tunnel reverse et l’utilisation de variable d’environnement permet d’aller chercher les choses dont nous avons besoins. Mais pour python pip, lui-même à besoin d’une librairie « pysocks » et donc cela coince un peu…

Si vous essayé d’utiliser les variables d’environnement https_proxy=socks5://votreserver:port vous aurez l’erreur suivante :

InvalidSchema: Missing dependencies for SOCKS support.

La solution est de télécharger les dépendances nécessaires sur une machine ayant l’accès à Internet!

Dépendances pip sur la machine ayant le net :

mkdir pipdep && cd pipdep
echo pysocks > requirements.txt
echo pyvmomi >> requirements.txt
pip download -r requirements.txt

Vous copier le dossier sur la machine cible

Installation des dépendances python pip sur la machine cible

C’est à exécuter en temps d’utilisateur pour rappel :

pip install -r requirements.txt --no-index --find-links .

Le gist est disponible sur Github

Summary
Python pip installation offline de librairies
Article Name
Python pip installation offline de librairies
Description
Installation de librairies python pip sur machine offline via le téléchargement de librairie à partir d'une machine ayant accès à internet
Author