O suporte SOCKS do pip exige que a dependência SOCKS opcional esteja disponível para o interpretador Python que executa o pip. Se esse interpretador só consegue chegar ao índice de pacotes através de SOCKS, obtenha primeiro a dependência noutra máquina ligada.

Na máquina ligada, prepare um pequeno diretório de wheels:

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

Transfira esse diretório para a máquina de destino e depois use o interpretador previsto dela para a instalação local:

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

--no-index mantém este passo de preparação nos ficheiros fornecidos. Não tenta resolver o problema original de conectividade com outro pedido ao índice.

Assim que a dependência estiver disponível, a rota SOCKS pode ser escolhida para a operação real do pacote:

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

Para transferências públicas de pacotes permitidas sem autenticação de proxy, substitua o endpoint por um candidato da lista de proxies SOCKS5 e selecione o pacote pretendido. A grafia socks5h pede a resolução do nome de destino através do proxy; socks5 escolhe a resolução local do destino neste caminho de cliente.

Mantenha a instalação de preparação e a operação do pacote no mesmo interpretador e ambiente. Instalar o PySocks noutro Python deixa os imports do pip de destino inalterados. A verificação útil é qual comando python -m pip faz o trabalho, não se outro terminal relata que o PySocks está instalado.

Artigos relacionados