pip:s SOCKS-stöd kräver att det valfria SOCKS-beroendet är tillgängligt för den Python-tolk som kör pip. Om den tolken bara når paketindexet via SOCKS, hämta beroendet först på en annan ansluten maskin.

På den anslutna maskinen förbereder du en liten wheel-katalog:

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

Överför katalogen till målmasinen och använd sedan dess avsedda tolk för den lokala installationen:

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

--no-index håller detta förberedelsesteg på de medföljande filerna. Det försöker inte lösa det ursprungliga anslutningsproblemet med ännu en indexbegäran.

När beroendet är tillgängligt kan SOCKS-vägen väljas för själva paketåtgärden:

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

För tillåtna offentliga paketnedladdningar utan proxyautentisering ersätter du slutpunkten med en kandidat från SOCKS5-proxylistan och väljer det avsedda paketet. Stavningen socks5h begär uppslagning av destinationsnamnet genom proxyn; socks5 väljer lokal destinationsuppslagning i denna klientväg.

Håll förberedelseinstallationen och paketåtgärden på samma tolk och i samma miljö. Att installera PySocks i en annan Python lämnar mål-pip:ens importer oförändrade. Den användbara kontrollen är vilket python -m pip-kommando som utför arbetet, inte om en annan terminal rapporterar att PySocks är installerat.

Relaterade artiklar