pip의 SOCKS 의존성을 오프라인으로 준비하기
연결된 머신에서 PySocks wheel을 옮겨 대상 인터프리터가 SOCKS 프록시를 사용할 수 있게 하십시오.
pip의 SOCKS 지원은 pip를 실행하는 Python 인터프리터에서 선택적 SOCKS 의존성을 사용할 수 있어야 합니다. 그 인터프리터가 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의 import는 그대로입니다. 유용한 확인은 어떤 python -m pip 명령이 작업을 수행하는지이며, 다른 터미널이 PySocks가 설치되었다고 보고하는지가 아닙니다.