Guia Python · 2 min de leitura

pip e conda atrás de um proxy

Instalar pacotes Python por trás de um firewall se resume a uma configuração de proxy HTTP, exposta de três maneiras no pip e duas no conda. Aqui estão cada uma, com o truque de trusted-host para proxies corporativos que inspecionam TLS.

Um proxy, vários lugares para configurá-lo

pip and conda both fetch over HTTPS, so both want the s4m HTTP endpoint on port 3128, authenticated with USER:PASS. pip exposes the setting three ways: the --proxy flag for a single command, a proxy line in pip.conf for persistence, and the PIP_PROXY environment variable. pip also honours the standard http_proxy / https_proxy variables, so a shell-level export often fixes things without touching pip's own config.

conda has its own config file. Set proxy_servers for http and https with conda config, which writes to ~/.condarc; conda also reads the environment variables. With s4m you point both tools at http://USER:PASS@proxy.s4m.online:3128. See the proxy page, the sibling npm/yarn guide, and the shared environment-variable guide for how these variables cross tools.

pip e conda, todos os métodos

Flag, arquivo de configuração e variável de ambiente para pip; condarc para conda; trusted-host para proxies que inspecionam TLS. Substitua USER:PASS.

bash
# --- pip: single command ---
pip install --proxy http://USER:PASS@proxy.s4m.online:3128 requests

# --- pip: environment variables (whole session) ---
export https_proxy="http://USER:PASS@proxy.s4m.online:3128"
export http_proxy="http://USER:PASS@proxy.s4m.online:3128"
pip install requests

# --- pip: persistent config (~/.config/pip/pip.conf, or pip.ini on Windows) ---
cat > ~/.config/pip/pip.conf <<'CFG'
[global]
proxy = http://USER:PASS@proxy.s4m.online:3128
timeout = 30
CFG

# --- conda: writes to ~/.condarc ---
conda config --set proxy_servers.http  http://USER:PASS@proxy.s4m.online:3128
conda config --set proxy_servers.https http://USER:PASS@proxy.s4m.online:3128
conda install numpy

# --- TLS-inspecting corporate proxy? mark hosts trusted for pip ---
pip install --proxy http://USER:PASS@proxy.s4m.online:3128 \
  --trusted-host pypi.org --trusted-host files.pythonhosted.org requests

Escolha o método certo

Quão permanente precisa ser a configuração?

Uma instalação

Use pip install --proxy http://USER:PASS@proxy.s4m.online:3128 . Nada persiste — ideal em uma máquina compartilhada ou temporária.

Sessão inteira

Exporte http_proxy e https_proxy. Tanto pip quanto conda (e a maioria das ferramentas de CLI) nesse shell usam a saída até que você os desconfigure.

Permanente por usuário

Escreva o proxy em pip.conf e ~/.condarc para que cada instalação seja roteada automaticamente sem repetir as flags.

Intercepção TLS

Se um proxy corporativo re-assina TLS, o pip pode rejeitar certificados. Adicione --trusted-host para pypi.org e files.pythonhosted.org, ou instale o CA do proxy.

Intercepção TLS, autenticação e honestidade

A falha de pip mais confusa atrás de um proxy não é um timeout, mas um erro de certificado SSL. Isso acontece quando um proxy corporativo intercepta e re-assina HTTPS: o pip vê um certificado não confiável e se recusa. A correção adequada é instalar a CA raiz do proxy em seu armazenamento de confiança; a correção rápida é --trusted-host pypi.org --trusted-host files.pythonhosted.org. O próprio proxy do s4m não intercepta TLS, então você não encontrará isso com nosso endpoint — ele apenas encaminha seu tráfego criptografado.

O proxy HTTP do s4m é um endpoint autenticado de datacenter, pago conforme o uso — uma saída limpa para imagens de CI e caixas de desenvolvedor que devem acessar o PyPI e canais conda de uma rede controlada. Não é um proxy residencial e não é um espelho de pacotes. Codifique caracteres especiais em sua senha (@ se torna %40), e defina no_proxy para índices de pacotes internos. Um 407 significa credenciais inválidas — veja o guia 407. Quando o CI precisa de uma saída permitida, adicione um IP pessoal dedicado; valide qualquer endpoint com as ferramentas.

FAQ

Perguntas, respondidas

Como configuro um proxy para uma única instalação do pip?

Passe --proxy http://USER:PASS@proxy.s4m.online:3128 para o comando pip install. Nada persiste, o que é útil em máquinas compartilhadas; para uma configuração permanente, use pip.conf ou a variável de ambiente http_proxy.

Por que o pip falha com um erro de certificado SSL atrás de um proxy?

Um proxy corporativo provavelmente está interceptando e re-assinando TLS, então o pip vê um certificado não confiável. Instale a CA raiz do proxy ou use --trusted-host pypi.org --trusted-host files.pythonhosted.org. s4m não intercepta TLS, então nosso endpoint evita isso.

Como configuro o conda para usar um proxy?

Execute conda config --set proxy_servers.http e proxy_servers.https para a URL do seu proxy; isso grava em ~/.condarc. O conda também respeita as variáveis de ambiente http_proxy e https_proxy.

O pip e o conda precisam do endpoint SOCKS5 ou HTTP?

O ponto de extremidade HTTP na porta 3128. Ambas as ferramentas buscam pacotes via HTTPS através de um proxy HTTP CONNECT, então aponte-os para http://USER:PASS@proxy.s4m.online:3128.

Desbloqueie suas instalações do Python

Roteie pip e conda através do endpoint HTTP autenticado em proxy.s4m.online:3128. Pagamento por uso, sem interceptação TLS, IP dedicado disponível para listas de permissão CI.

As pessoas encontraram esta página pesquisando por

Frases de busca reais que esta página responde — os links abrem a página que as cobre em profundidade.