Падтрымка SOCKS у pip патрабуе, каб неабавязковая залежнасць SOCKS была даступная інтэрпрэтатару Python, які запускае pip. Калі гэты інтэрпрэтатар можа дасягнуць індэкса пакетаў толькі праз SOCKS, спачатку атрымайце залежнасць на іншай падключанай машыне.

На падключанай машыне падрыхтуйце невялікі каталог wheel:

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

Перанясіце гэты каталог на мэтавую машыну, затым выкарыстайце яе прызначаны інтэрпрэтатар для лакальнай устаноўкі:

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

--no-index пакідае гэты крок падрыхтоўкі на прадастаўленых файлах. Ён не спрабуе вырашыць зыходную праблему злучэння, робячы яшчэ адзін запыт да індэкса.

Калі залежнасць даступная, для фактычнай аперацыі з пакетам можна выбраць маршрут SOCKS:

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

Для дазволеных публічных загрузак пакетаў без аўтэнтыфікацыі проксі заменіце канчатковы пункт кандыдатам з спісу SOCKS5-проксі і выберыце патрэбны пакет. Напісанне socks5h запытвае разрозненне імені прызначэння праз проксі; socks5 выбірае лакальнае разрозненне прызначэння ў гэтым шляху кліента.

Трымайце ўстаноўку падрыхтоўкі і аперацыю з пакетам на адным інтэрпрэтатары і ў адным асяроддзі. Устаноўка PySocks у іншы Python не змяняе імпарты мэтавага pip. Карысная праверка — якая python -m pip каманда выконвае працу, а не тое, ці паведамляе іншы тэрмінал, што PySocks усталяваны.

Падобныя артыкулы