Para uma instalação única, o pip aceita um proxy diretamente na linha de comando. Você pode testar uma rota sem gravar configuração permanente de usuário ou sistema:

python -m pip --proxy http://203.0.113.10:8080 install requests

Use um ponto escolhido no seu serviço ou na lista de proxies HTTP no lugar do IP de documentação. Executar python -m pip também deixa o ambiente Python desejado mais claro do que supor que um executável pip separado pertence a ele.

A URL do proxy descreve a conexão com ele. Pode começar com http:// enquanto o índice de pacotes e os downloads usam HTTPS por CONNECT.

Se o pip continua escolhendo outra configuração

Para as próprias opções do pip, argumentos de comando prevalecem sobre variáveis de ambiente, que prevalecem sobre arquivos de configuração. Os arquivos podem existir nos níveis global, de usuário ou de ambiente virtual. PIP_CONFIG_FILE pode selecionar um arquivo adicional.

python -m pip config debug

Isso lista as fontes de configuração consideradas pelo pip. Confira localmente: arquivos e valores de ambiente podem conter URLs privadas ou credenciais.

Examine também PIP_PROXY e as variáveis comuns de proxy HTTP/HTTPS. Nem todas pertencem à mesma camada; o tratamento padrão do ambiente de proxy ainda pode importar ao diagnosticar a rota real. Não suponha que apagar uma entrada do arquivo de usuário removeu todas as fontes possíveis.

Uma opção de proxy não corrige a confiança em certificados

Se a rota chega a um serviço HTTPS, mas a verificação falha, descubra qual certificado o cliente recebeu. Uma inspeção autorizada pode exigir um pacote de CAs aprovado:

python -m pip --proxy http://203.0.113.10:8080 \
  --cert /path/to/approved-ca-bundle.pem install requests

--trusted-host marca um host como confiável mesmo sem HTTPS válido. Não configura o IP do proxy e não deve ser a resposta rotineira a erro de certificado. Corrija o ponto de conexão ou a configuração de confiança.

O pip 24.2 passou a usar certificados do sistema junto com certifi por padrão nos ambientes de execução compatíveis. Versões anteriores não usavam automaticamente o repositório de CAs do sistema operacional. Isso pode explicar por que uma CA aprovada da organização funciona em um ambiente Python, mas falta em outro.

O argumento proxy de um comando deixa de valer quando ele termina. Se depois salvar uma configuração persistente, coloque-a no escopo realmente desejado, sem fazer todo ambiente Python depender de um ponto que você apenas testava.

Artigos relacionados