El suport de SOCKS del pip necessita que la dependència opcional de SOCKS estigui disponible per a l'intèrpret de Python que executa pip. Si aquest intèrpret només pot arribar a l'índex de paquets a través de SOCKS, obteniu primer la dependència en una altra màquina connectada.

A la màquina connectada, prepareu un directori de rodes petit:

python -m pip download --only-binary=:all: --dest wheelhouse PySocks

Traslladeu aquest directori a la màquina de destinació i, després, feu servir el seu intèrpret previst per a la instal·lació local:

python -m pip install --no-index --find-links wheelhouse PySocks

--no-index manté aquest pas de preparació amb els fitxers subministrats. No intenta resoldre el problema original de connectivitat fent una altra petició a l'índex.

Un cop la dependència estigui disponible, es pot triar la ruta SOCKS per a l'operació real amb el paquet:

python -m pip install --proxy socks5h://proxy.example.net:1080 package_name

Per a descàrregues públiques de paquets permeses sense autenticació del proxy, substituïu el punt final per un candidat de la llista de proxys SOCKS5 i trieu el paquet previst. L'escriptura socks5h demana la resolució del nom de destinació a través del proxy; socks5 tria la resolució local de la destinació en aquest camí de client.

Mantingueu la instal·lació de preparació i l'operació amb el paquet al mateix intèrpret i entorn. Instal·lar PySocks en un altre Python deixa les importacions del pip de destinació sense canvis. La comprovació útil és quina ordre python -m pip fa la feina, no si un altre terminal informa que PySocks està instal·lat.

Articles relacionats