Офлайн-підготовка залежності SOCKS для pip
Перенесіть wheel PySocks із під'єднаної машини, щоб цільовий інтерпретатор міг почати використовувати свій SOCKS-проксі.
Підтримка 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 встановлено.