Como usar o pip com proxies

Configure proxies com o pip para contornar restrições, melhorar a segurança e simplificar o gerenciamento de pacotes.
13 min de leitura
How to Use Pip with Proxies blog image

Neste artigo, você aprenderá a configurar e usar proxies com o pip para o gerenciamento contínuo de pacotes em redes restritas.

Diferenças entre proxies públicos e privados

Ao selecionar um proxy, determinar se ele será público ou privado é uma consideração importante.

Procurações públicas

Os proxies públicos são abertos para uso de qualquer pessoa e geralmente não possuem autenticação. Embora possam fornecer acesso rápido a um endereço IP, eles têm suas desvantagens: velocidades mais baixas, conexões instáveis e possíveis proibições de IP. Por serem gratuitos e amplamente disponíveis, eles geralmente não têm recursos essenciais, como rotação de proxy, armazenamento em cache e controle de acesso, o que os torna pouco confiáveis em um ambiente de produção.

Um URL público pode ser formatado da seguinte forma: https://proxyserver:port.

Proxies privados

Os proxies privados exigem autenticação e oferecem mais segurança, estabilidade e recursos avançados, embora normalmente tenham um custo. Eles oferecem uma conexão segura, rápida e confiável com um endereço IP dedicado, além de recursos como autenticação e rotação de proxy.

Em geral, o acesso é controlado por meio de autenticação, muitas vezes incluindo um nome de usuário e uma senha como prefixo do URL do proxy, assim: https://username:password@proxyserver:port.

Uso de proxies com o pip

Para começar a usar um proxy com o pip, você precisa reunir alguns detalhes sobre o proxy. O próximo exemplo usa um proxy público com os seguintes detalhes:

  • Um endereço de proxy para o serviço de proxy
  • A porta que o serviço de proxy exige para a comunicação

O repositório de listas de proxy a seguir fornece endereços de proxy públicos testados diariamente que podem ser úteis para testes, mas não devem ser usados em ambientes de produção.

No repositório da lista de proxy, verifique o arquivo proxy-list-status.txt para encontrar um proxy público em funcionamento. Isso pode ser feito verificando o arquivo em busca de um endereço que tenha o sinalizador de sucesso próximo a ele, indicando que está funcionando:

Seleção de um proxy público

Para este tutorial, use 45.185.162.203:999 como seu endereço de proxy público. Isso significa que o endereço do servidor proxy é http://45.185.162.203:999.

Configuração de um pip proxy com a linha de comando

A maneira mais rápida de configurar um proxy pip é passar o endereço ao chamar o comando pip install usando a opção de linha de comando --proxy.

Usando o endereço de proxy público, teste seu acesso ao proxy e aos pacotes usando o seguinte comando:

# Public Proxy
pip install boto3 --proxy http://45.185.162.203:999

Esse método é útil para testar e validar rapidamente os proxies antes de configurar permanentemente um novo proxy. Se estiver publicando pacotes pip, ele ajuda a verificar a disponibilidade de um IP diferente.

Configuração de um proxy pip com o arquivo de configuração pip

Para configurar permanentemente um proxy pip, o arquivo de configuração pip é uma solução fácil e declarativa. Sua localização depende do seu sistema operacional e pode ser encontrada nos seguintes diretórios:

  • Global: arquivo de configuração de todo o sistema, compartilhado entre os usuários.
  • Usuário: arquivo de configuração por usuário para o usuário que executa o processo pip.
  • Site: Arquivo de configuração por ambiente usando ambientes virtuais Python.

Esses arquivos de configuração podem ser encontrados ou criados nos seguintes locais para cada sistema:

Linux/macOS

Em sistemas baseados em Linux, o arquivo de configuração do pip é chamado pip.conf e pode ser encontrado nos seguintes locais:

  • Global:
    • Sistemas baseados no Debian: Edite ou crie o pip.conf no diretório/etc`.
    • Sistemas baseados no macOS: Edite ou crie /Library/Application Support/pip/pip.conf.
  • Usuário:
    • Sistemas baseados no Debian: Edite ou crie o arquivo ~/pip/pip.conf.
    • Sistemas baseados no macOS: Edite ou crie o arquivo de configuração ~/.config/pip/pip.conf.
  • Local: Quando carregado em um ambiente virtual Python, ele está localizado em $VIRTUAL_ENV/pip.conf.

Windows

Em um sistema Windows, o arquivo é um arquivo pip.ini e pode ser encontrado nos seguintes locais:

  • Global: edite ou crie o arquivo C:\ProgramData\pip\pip.ini. Observe que esse arquivo está oculto por padrão nos sistemas Windows, mas pode ser gravado.
  • Usuário: edite ou crie o pip.ini em %APPDATA%\pip\.
  • Local: Quando carregado em um ambiente virtual Python, edite ou crie o arquivo de configuração em %VIRTUAL_ENV%\pip.ini.

Conteúdo do arquivo de configuração

Para este exemplo, é usado um arquivo de configuração pip de ambiente virtual Python. Em um ambiente virtual ativado, edite $VIRTUAL_ENV/pip.conf em sistemas baseados no Debian ou %VIRTUAL_ENV%\pip.ini no Windows.

No arquivo de configuração, você precisa atualizar a chave de proxy com o proxy HTTP ou HTTPS desejado:

[global]
proxy = http://45.185.162.203:999

Depois que o arquivo é salvo, o proxy é usado automaticamente com qualquer comando pip, eliminando a necessidade do sinalizador de proxy mencionado anteriormente:

(venv) $ pip install boto3

Você pode encontrar mais detalhes sobre as opções de configuração disponíveis no arquivo de configuração do pip na documentação do projeto.

Configuração de um proxy pip com variáveis de ambiente

A configuração das variáveis de ambiente do sistema garante que um proxy seja usado para o pip e para todas as outras solicitações HTTP em um sistema. Isso é feito utilizando as variáveis de ambiente HTTP_PROXY e HTTPS_PROXY, que são frequentemente referenciadas por softwares como o pip como um proxy do sistema a ser usado ao fazer solicitações HTTP.

Linux/macOS

Se estiver usando um sistema operacional Linux, atualize o arquivo /etc/environment ou, se for um usuário do macOS, atualize o arquivo .zshrc localizado no diretório home. Em seguida, atualize-o com novas entradas para seu servidor proxy:

HTTP_PROXY=https://proxyserver:port
HTTPS_PROXY=https://proxyserver:port

Quando você reiniciar suas sessões de terminal ou reiniciar o sistema, as variáveis de ambiente estarão presentes.

Windows

Em um sistema Windows, você pode definir variáveis de ambiente com os seguintes comandos em um terminal de prompt de comando:

setx HTTP_PROXY "https://proxyserver:port" /M
setx HTTPS_PROXY "https://proxyserver:port" /M

Reinicie o prompt de comando para que as alterações tenham efeito.

Teste da configuração

Depois de ativar uma configuração em nível de sistema por meio do arquivo de configuração do pip ou das variáveis de ambiente, você deve testar se o proxy pode se conectar e receber dados com êxito por meio do proxy.

Linux/macOS

No Linux/macOS, use o seguinte comando:

$ python -m venv venv
$ source venve/scripts/activate

# for pip config file or environment variables
(venv) $ pip install requests

Se você quiser substituir essas configurações por um proxy específico, poderá voltar a usar os sinalizadores da CLI:

# pip cli flag
(venv) $ pip install requests --proxy https://proxyserver:port

Nesse comando, certifique-se de atualizar https://proxyserver:port com seu próprio proxy.

Windows

No Windows, use o seguinte comando:

> python -m venv venv
> .\venv\Scripts\Activate.bat
(venv) > pip install requests

Essas configurações sempre podem ser substituídas usando os sinalizadores pip CLI:

# pip cli flag
(venv) $ pip install requests --proxy https://proxyserver:port

Solução de problemas de pip proxies

Ao se conectar a um proxy HTTP ou HTTPS com o pip, você pode se deparar com os seguintes problemas comuns, principalmente se explorar o uso de proxies privados ou proxies HTTPS devido aos seus recursos aprimorados.

Problemas de autenticação

Os problemas de autenticação são comumente vistos como um erro 407 Proxy Authentication Required ao tentar se conectar ao proxy com o pip. Isso indica que o proxy requer um nome de usuário e uma senha para se conectar ou que você forneceu as credenciais erradas para o proxy.

Problemas com certificados

Ao se conectar a um proxy HTTPS, você pode receber um erro Certificate verify failed do pip. Isso indica que há um problema com o certificado fornecido pelo servidor proxy.

Se o seu servidor proxy privado estiver usando um certificado autoassinado, você poderá receber esse erro e o certificado não poderá ser verificado com uma autoridade de certificação. Talvez você queira usar a opção --trusted-host da CLI ao se conectar a determinados domínios e ignorar os erros de certificado autoassinado.

Uso do pip com proxies rotativos

Os proxies rotativos ajudam a evitar proibições de IP, alternando automaticamente os endereços IP para cada solicitação. Isso imita vários usuários e contorna as restrições.

Você pode implementar isso selecionando proxies aleatoriamente em uma lista. Abaixo está um script bash simples que instala os pacotes pip enquanto passa por proxies públicos.

Crie o seguinte script bash chamado rotate-proxies.sh:

proxy_list=(
  'http://45.185.162.203:999'
  'http://177.23.176.58:8080'
  'http://83.143.24.66:80'
)

pip_packages=(
  'requests'
  'numpy'
  'pandas'
)

# Loop through packages and install them
for package in "${pip_packages[@]}"
do
  # Randomly select a proxy from the list
  proxy=${proxy_list[$RANDOM % ${#proxy_list[@]}]}
  echo -e  "\nInstalling $package with proxy $proxy"
  pip install --proxy $proxy $package
done

Depois de criado, você pode executar o arquivo para baixar os pacotes pip e alternar entre um proxy aleatório para cada comando pip. Aqui está um resumo da saída do script:

$ ./rotate-proxies.sh 

Installing requests with proxy http://177.23.176.58:8080
Collecting requests
  Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)

….

Downloading urllib3-2.3.0-py3-none-any.whl (128 kB)
Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests
Successfully installed certifi-2025.1.31 charset-normalizer-3.4.1 idna-3.10 requests-2.32.3 urllib3-2.3.0

Installing six with proxy http://45.185.162.203:999
Collecting numpy
 Downloading numpy-2.2.2-cp313-cp313-macosx_14_0_x86_64.whl.metadata (62 kB)

…

Installing collected packages: numpy
Successfully installed numpy-2.2.2

Installing pandas with proxy http://83.143.24.66:80
Collecting pandas
  Downloading pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl.metadata (89 kB)

….

Installing collected packages: pytz, tzdata, six, python-dateutil, pandas
Successfully installed pandas-2.2.3 python-dateutil-2.9.0.post0 pytz-2025.1 six-1.17.0 tzdata-2025.1

Benefícios do uso de proxies com o pip

Os proxies ajudam os desenvolvedores a contornar restrições de rede, acessar recursos bloqueados e melhorar as velocidades de download de pacotes. Os proxies privados oferecem armazenamento em cache, conexões mais rápidas e segurança aprimorada ao mascarar sua identidade.

Em comparação com uma VPN, os proxies são uma alternativa leve para solicitações de pip. Embora uma VPN criptografe todo o tráfego da Internet para maior privacidade, ela pode tornar as instalações de pacotes mais lentas devido ao aumento da latência. Os proxies oferecem uma solução mais rápida e eficiente para o gerenciamento de dependências.

Erros comuns e práticas recomendadas

Ao usar proxies com o pip, é importante estar atento a erros comuns, pois eles podem levar a vulnerabilidades de segurança. Erros como URLs de proxy incorretos ou formatos de URL mal configurados – como protocolo HTTP ou HTTPS ausente ou incorreto – podem interromper as conexões com os repositórios de pacotes.

Um problema de segurança frequente é a codificação de credenciais de proxy(por exemplo, nomes de usuário e senhas) em códigos-fonte, scripts ou definições de pipeline de integração contínua e entrega contínua (CI/CD). Se esse código for redistribuído, poderá ocorrer acesso não autorizado ao proxy. Se as credenciais forem comprometidas, o proxy poderá ser usado indevidamente, levando ao aumento dos custos ou até mesmo explorado por ataques cibernéticos.

Para evitar esses erros, recomenda-se que as credenciais de proxy sejam mantidas em segurança, armazenando-as em variáveis de ambiente ou arquivos de configuração criptografados, em vez de diretamente no código. Além disso, você deve testar a conectividade do proxy antes de usar o pip para garantir a configuração adequada e evitar erros de tempo de execução. Usando ferramentas como curl ou ping, você pode verificar o desempenho do proxy antes de colocá-lo em serviço. Isso permite uma experiência de gerenciamento de pacotes mais tranquila.

Uso de proxies de dados brilhantes

Se estiver procurando um provedor de proxies de alta qualidade e com recursos, dê uma olhada na Bright Data. Trata-se de uma solução de proxy que fornece uma variedade de endereços IP, inclusive residenciais, data centers e dispositivos móveis. Ela também fornece ferramentas especializadas para coleta de dados e raspagem da Web, incluindo proxies rotativos e a API Web Unlocker.

A Bright Data pode ajudá-lo a criar facilmente proxies para as necessidades do seu projeto. Para mostrar como é fácil, vamos criar um proxy residencial privado que você pode usar com o pip para acessar pacotes por meio de um endereço IP diferente.

Comece inscrevendo-se em uma conta gratuita da Bright Data. Em seguida, navegue até o painel de controle do usuário.

No menu lateral, clique em Proxies & Scraping:

Proxies da Bright Data

Depois que o formulário for carregado, configure um novo proxy residencial. Se você usar as configurações padrão, obterá um proxy com um endereço IP compartilhado usado por vários usuários da Bright Data:

Criação de um proxy residencial

Se estiver direcionando para uma região específica, você também pode especificar o país no qual deseja que o endereço IP esteja localizado.

Após a criação, você será redirecionado para um painel que contém o endpoint e os detalhes de autenticação do proxy recém-criado. Anote o nome de usuário, a senha e o endereço do servidor:

Painel de controle do proxy

Usando esses valores de endpoint, teste sua disponibilidade usando o sinalizador --proxy:

$ pip install pandas \
    --trusted-host pypi.org \
    --trusted-host files.pythonhosted.org \
    --proxy https://username:[email protected]:33335

Como o proxy da Bright Data usa um certificado autoassinado, você pode usar o sinalizador trusted-host para incluir pypi.org e files.pythonhosted.org na lista de permissões como domínios confiáveis.

Conclusão

O uso de um proxy com o pip ajuda a aumentar o anonimato e o controle, permitindo que você contorne as restrições de IP e o bloqueio geográfico. Dependendo de suas necessidades, você pode escolher entre proxies públicos e privados.

Os proxies privados oferecem vantagens, como IPs rotativos, cache aprimorado, velocidades mais rápidas e maior estabilidade, mas o custo depende da disponibilidade do IP e da localização geográfica.

A configuração de um proxy para o pip é simples, com várias opções, como sinalizadores da CLI, um arquivo de configuração do pip e variáveis de ambiente. No entanto, os proxies públicos têm limitações e, conforme discutido anteriormente, não são ideais para grandes cargas de trabalho ou uso em produção. Para uma solução mais confiável, a Bright Data oferece IPs residenciais e de datacenter, proporcionando conexões rápidas e estáveis e ferramentas avançadas para raspagem da Web e coleta de dados. Registre-se gratuitamente para começar.

Não é necessário cartão de crédito