pip's SOCKS-understøttelse kræver, at den valgfrie SOCKS-afhængighed er tilgængelig for den Python-fortolker, der kører pip. Hvis den fortolker kun kan nå pakkeindekset via SOCKS, skal du hente afhængigheden på en anden tilsluttet maskine først.

På den tilsluttede maskine forbereder du en lille wheel-mappe:

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

Overfør mappen til målmaskinen, og brug derefter dens tilsigtede fortolker til den lokale installation:

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

--no-index holder dette klargøringstrin på de medfølgende filer. Det forsøger ikke at løse det oprindelige forbindelsesproblem ved at sende endnu en indeksforespørgsel.

Når afhængigheden er tilgængelig, kan SOCKS-ruten vælges til den faktiske pakkeoperation:

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

Til tilladte offentlige pakkenedhentninger uden proxy-godkendelse erstatter du slutpunktet med en kandidat fra SOCKS5-proxylisten og vælger den tilsigtede pakke. Stavemåden socks5h anmoder om opløsning af destinationsnavnet gennem proxyen; socks5 vælger lokal destinationsopløsning i denne klientsti.

Hold klargøringsinstallationen og pakkeoperationen på samme fortolker og i samme miljø. Installation af PySocks i en anden Python lader mål-pip'ens imports være uændrede. Den nyttige kontrol er, hvilken python -m pip-kommando der udfører arbejdet, ikke om en anden terminal rapporterer, at PySocks er installeret.

Relaterede artikler