En este artículo, usted aprenderá cómo configurar y utilizar proxies con pip para la gestión de paquetes sin problemas en redes restringidas.
Diferencias entre representantes públicos y privados
A la hora de elegir un apoderado, es importante determinar si será público o privado.
Apoderados públicos
Los proxies públicos están abiertos a cualquiera y a menudo carecen de autenticación. Aunque pueden proporcionar un acceso rápido a una dirección IP, tienen sus desventajas: velocidades más lentas, conexiones inestables y posibles bloqueos de IP. Debido a que son gratuitos y están ampliamente disponibles, a menudo carecen de características esenciales como rotaciones de proxy, almacenamiento en caché y control de acceso, lo que los hace poco fiables en un entorno de producción.
Una URL pública puede tener el siguiente formato: https://proxyserver:port.
Proxies privados
Los proxies privados requieren autenticación y ofrecen mayor seguridad, estabilidad y funciones avanzadas, aunque normalmente tienen un coste. Ofrecen una conexión segura, rápida y fiable a una dirección IP dedicada, junto con funciones como la autenticación y rotación de proxies.
El acceso suele controlarse mediante autenticación, a menudo incluyendo un nombre de usuario y una contraseña como prefijo de la URL del proxy, de la siguiente forma: https://username:password@proxyserver:port
.
Utilización de proxies con pip
Para empezar a usar un proxy con pip, necesitas reunir algunos detalles sobre tu proxy. El siguiente ejemplo utiliza un proxy público con los siguientes detalles:
- Una dirección proxy para el servicio proxy
- El puerto que el servicio proxy requiere para la comunicación
El siguiente repositorio proxy-list
proporciona direcciones proxy públicas probadas diariamente que pueden ser útiles para pruebas pero que no deben utilizarse en entornos de producción.
Dentro del repositorio proxy-list
, comprueba el archivo proxy-list-status.txt
para encontrar un proxy público que funcione. Para ello, busca en el archivo una dirección que tenga la bandera de éxito
junto a ella, lo que indica que está funcionando:
Para este tutorial, utiliza 45.185.162.203:999
como dirección proxy pública. Esto significa que la dirección del servidor proxy es http://45.185.162.203:999.
Configuración de un proxy pip con la línea de comandos
La forma más rápida de configurar un proxy pip es pasar la dirección cuando se llama al comando pip install
usando la opción de línea de comandos --proxy
.
Usando la dirección pública del proxy, prueba tu acceso al proxy y a los paquetes usando el siguiente comando:
# Public Proxy
pip install boto3 --proxy http://45.185.162.203:999
Este método es útil para probar y validar rápidamente proxies antes de configurar permanentemente un nuevo proxy. Si se publican paquetes pip, ayuda a verificar la disponibilidad desde una IP diferente.
Configuración de un proxy pip con el archivo pip Config
Para configurar permanentemente un proxy pip, el archivo pip config es una solución fácil y declarativa. Su ubicación depende de su sistema operativo y se puede encontrar en los siguientes directorios:
- Global: Archivo de configuración de todo el sistema, compartido por todos los usuarios.
- Usuario: Archivo de configuración por usuario para el usuario que ejecuta el proceso pip.
- Sitio web: Fichero de configuración por entorno utilizando entornos virtuales Python.
Estos archivos de configuración se pueden encontrar o crear en las siguientes ubicaciones para cada sistema:
Linux/macOS
En los sistemas basados en Linux, el archivo de configuración de pip se denomina pip.conf
y puede encontrarse en las siguientes ubicaciones:
- Global:
- Sistemas basados en Debian: Edite o cree
pip.conf en el directorio/etc`
. - sistemas basados en macOS: Edite o cree
/Library/Application Support/pip/pip.conf
.
- Sistemas basados en Debian: Edite o cree
- Usuario:
- Sistemas basados en Debian: Edite o cree el archivo
~/pip/pip.conf
. - sistemas basados en macOS: Edite o cree el archivo de configuración
~/.config/pip/pip.conf
.
- Sistemas basados en Debian: Edite o cree el archivo
- Sitio: Cuando se carga en un entorno virtual Python, se encuentra en
$VIRTUAL_ENV/pip.conf
.
Windows
En un sistema Windows, el archivo es un archivo pip.ini
y se puede encontrar en las siguientes ubicaciones:
- Global: Edite o cree el archivo
C:\ProgramData\pip\pip.ini
. Tenga en cuenta que este archivo está oculto por defecto en los sistemas Windows, pero se puede escribir en él. - Usuario: Edite o cree
pip.ini
en%APPDATA%\pip\
. - Sitio: Cuando se carga en un entorno virtual Python, editar o crear el archivo de configuración en
%VIRTUAL_ENV%\pip.ini
.
Contenido del archivo de configuración
Para este ejemplo, se utiliza un archivo pip config de un entorno virtual Python. En un entorno virtual activado, edite $VIRTUAL_ENV/pip
.conf
en sistemas basados en Debian o %VIRTUAL_ENV%\pip.ini
en Windows.
En el archivo de configuración, debe actualizar la clave de proxy
con el proxy HTTP o HTTPS que desee:
[global]
proxy = http://45.185.162.203:999
Una vez guardado el archivo, el proxy se utiliza automáticamente con cualquier comando pip, eliminando la necesidad de la bandera proxy mencionada anteriormente:
(venv) $ pip install boto3
Puede encontrar más detalles sobre las opciones de configuración disponibles en el archivo pip config en la documentación del proyecto.
Configuración de un proxy pip con variables de entorno
Establecer variables de entorno del sistema garantiza que se utilice un proxy para pip y todas las demás peticiones HTTP en un sistema. Esto se hace utilizando las variables de entorno HTTP_PROXY
y HTTPS_PROXY
, que a menudo son referenciadas por software como pip como un proxy del sistema a utilizar cuando se realizan peticiones HTTP.
Linux/macOS
Si utilizas un sistema operativo Linux, actualiza el archivo /etc/environment
, o si eres usuario de macOS, actualiza el archivo .zshrc
ubicado en el directorio home. A continuación, actualízalo con las nuevas entradas para tu servidor proxy:
HTTP_PROXY=https://proxyserver:port
HTTPS_PROXY=https://proxyserver:port
Una vez que reinicie sus sesiones de terminal o reinicie su sistema, las variables de entorno estarán presentes.
Windows
En un sistema Windows, puede establecer variables de entorno con los siguientes comandos en un terminal de símbolo del sistema:
setx HTTP_PROXY "https://proxyserver:port" /M
setx HTTPS_PROXY "https://proxyserver:port" /M
Reinicie el símbolo del sistema para que los cambios surtan efecto.
Probar la configuración
Una vez que tenga una configuración a nivel de sistema habilitada, ya sea a través del archivo pip config o de variables de entorno, debe probar que el proxy puede conectarse con éxito y recibir datos a través del proxy.
Linux/macOS
En Linux/macOS, utilice el siguiente comando:
$ python -m venv venv
$ source venve/scripts/activate
# for pip config file or environment variables
(venv) $ pip install requests
Si alguna vez desea anular esta configuración con un proxy específico, puede recurrir al uso de los indicadores de la CLI:
# pip cli flag
(venv) $ pip install requests --proxy https://proxyserver:port
En este comando, asegúrese de actualizar https://proxyserver:port
con su propio proxy.
Windows
En Windows, utilice el siguiente comando:
> python -m venv venv
> .\venv\Scripts\Activate.bat
(venv) > pip install requests
Estos ajustes siempre se pueden anular utilizando las banderas pip CLI:
# pip cli flag
(venv) $ pip install requests --proxy https://proxyserver:port
Solución de problemas con proxies
Al conectarse a un proxy HTTP o HTTPS con pip, puede encontrarse con los siguientes problemas comunes, especialmente si explora el uso de proxies privados o proxies HTTPS debido a sus características mejoradas.
Problemas de autenticación
Los problemas de autenticación se ven comúnmente como un error 407 Proxy Authentication Required
al intentar conectarse al proxy con pip. Esto indica que el proxy requiere un nombre de usuario y una contraseña para conectarse o que ha proporcionado las credenciales incorrectas para el proxy.
Cuestiones relativas a los certificados
Al conectarse a un proxy HTTPS, puede recibir un error de verificación de certificado fallido
de pip. Esto indica que hay un problema con el certificado proporcionado por el servidor proxy.
Si su servidor proxy privado está utilizando un certificado autofirmado, puede obtener este error, y el certificado no puede ser verificado con una autoridad de certificación. Es posible que desee utilizar la opción de la CLI --trusted-host
al conectarse a determinados dominios e ignorar los errores de certificado autofirmado.
Uso de pip con proxies rotatorios
Los proxies rotatorios ayudan a evitar las prohibiciones de IP cambiando automáticamente de dirección IP para cada solicitud. Esto imita a varios usuarios y evita las restricciones.
Puede implementar esto seleccionando proxies al azar de una lista. A continuación se muestra un sencillo script bash que instala paquetes pip mientras rota a través de proxies públicos.
Cree el siguiente script bash llamado 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
Una vez creado, puede ejecutar el archivo para descargar los paquetes pip y rotar a través de un proxy aleatorio para cada comando pip. He aquí un resumen de la salida del 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
Ventajas de utilizar proxies con pip
Los proxies ayudan a los desarrolladores a eludir las restricciones de red, acceder a recursos bloqueados y mejorar la velocidad de descarga de paquetes. Los proxies privados ofrecen caché, conexiones más rápidas y mayor seguridad al enmascarar tu identidad.
En comparación con una VPN, los proxies son una alternativa ligera para las solicitudes de pip. Mientras que una VPN encripta todo el tráfico de Internet para una mayor privacidad, puede ralentizar las instalaciones de paquetes debido al aumento de la latencia. Los proxies proporcionan una solución más rápida y eficiente para la gestión de dependencias.
Errores comunes y buenas prácticas
Al utilizar proxies con pip, es importante tener cuidado con los errores comunes, ya que pueden conducir a vulnerabilidades de seguridad. Errores como URL de proxy incorrectas o formatos de URL mal configurados -como protocolos HTTP o HTTPS ausentes o incorrectos- pueden interrumpir las conexiones a los repositorios de paquetes.
Un problema de seguridad frecuente es la codificación de credenciales de proxy(por ejemplo, nombres de usuario y contraseñas) en códigos fuente, scripts o definiciones de canalización de integración continua y entrega continua (CI/CD). Si este código se redistribuye, puede producirse un acceso no autorizado al proxy. Si las credenciales se ven comprometidas, el proxy puede ser utilizado indebidamente, con el consiguiente aumento de costes, o incluso ser explotado por ciberataques.
Para evitar estos errores, se recomienda que las credenciales del proxy se mantengan seguras almacenándolas en variables de entorno o archivos de configuración encriptados en lugar de directamente en el código. Además, debe probar la conectividad del proxy antes de utilizar pip para garantizar una configuración adecuada y evitar errores en tiempo de ejecución. Utilizando herramientas como curl o ping, puede verificar el rendimiento del proxy antes de ponerlo en servicio. Esto permite una experiencia de gestión de paquetes más fluida.
Utilización de Bright Data Proxies
Si está buscando un proveedor de proxies de alta calidad y prestaciones, eche un vistazo a Bright Data. Se trata de una solución de proxy que proporciona una amplia gama de direcciones IP, incluyendo residenciales, centros de datos y dispositivos móviles. También proporciona herramientas especializadas para la recopilación de datos y el web scraping, incluidos proxies rotatorios y la API Web Unlocker.
Bright Data puede ayudarle a crear fácilmente proxies para las necesidades de su proyecto. Para mostrarle lo fácil que es, vamos a crear un proxy residencial privado que puede utilizar con pip para acceder a los paquetes a través de una dirección IP diferente.
Para empezar, regístrese para obtener una cuenta gratuita de Bright Data. A continuación, acceda al panel de control del usuario.
En el menú lateral, haga clic en Proxies & Scraping:
Una vez cargado el formulario, configure un nuevo proxy residencial. Si utiliza la configuración predeterminada, obtendrá un proxy con una dirección IP compartida utilizada por varios usuarios de Bright Data:
Si se dirige a una región específica, también puede especificar el país en el que desea que se encuentre la dirección IP.
Después de la creación, se le redirige a un panel que contiene el endpoint y los detalles de autenticación para su proxy recién creado. Anote el nombre de usuario, la contraseña y la dirección del servidor:
Utilizando estos valores de punto final, compruebe su disponibilidad utilizando el indicador --proxy
:
$ pip install pandas \
--trusted-host pypi.org \
--trusted-host files.pythonhosted.org \
--proxy https://username:[email protected]:33335
Dado que el proxy de Bright Data utiliza un certificado autofirmado, puede utilizar el indicador trusted-host
para incluir pypi.org
y files.pythonhosted.org
en la lista blanca de dominios de confianza.
Conclusión
Utilizar un proxy con pip ayuda a mejorar el anonimato y el control, permitiéndote eludir las restricciones de IP y el geobloqueo. Dependiendo de tus necesidades, puedes elegir entre proxies públicos y privados.
Los proxies privados ofrecen ventajas, como la rotación de IP, un mejor almacenamiento en caché, velocidades más rápidas y mayor estabilidad, pero el coste depende de la disponibilidad de IP y de la ubicación geográfica.
Configurar un proxy para pip es simple, con múltiples opciones como banderas CLI, un archivo de configuración pip, y variables de entorno. Sin embargo, los proxies públicos tienen limitaciones y, como se ha comentado anteriormente, no son ideales para grandes cargas de trabajo o uso en producción. Para una solución más fiable, Bright Data ofrece IPs residenciales y de centros de datos, proporcionando conexiones rápidas y estables y herramientas avanzadas para el web scraping y la recopilación de datos. Regístrese gratis para empezar.
No se requiere tarjeta de crédito