Al usar pip para instalar paquetes, a veces aparecen los siguientes problemas:
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1018)'))) - skipping
Este mensaje de error indica que al intentar acceder a https://pypi.org/simple/pip/, se encontró un problema de verificación fallida del certificado SSL.
Específicamente, el SSLCertVerificationError mencionado en el mensaje de error indica que el cliente no pudo verificar el certificado SSL del servidor.
La solución también es muy sencilla: podemos usar un espejo doméstico, como el espejo pip de la Universidad de Tsinghua.
Método 1: especificación temporal desde la línea de comandos
Al instalar paquetes de Python, se puede--index-urlespecificar la fuente espejo de la Universidad de Tsinghua mediante el parámetro, y--trusted-hostpermitir no usar HTTPS mediante el parámetro.
El comando es el siguiente:
pip install <package_name> --index-url http://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
- --index-url: especifica la URL de la fuente espejo.
- --trusted-host: especifica el host de confianza, permitiendo no usar HTTPS.
Por ejemplo:
pip install baidusearch --index-url http://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
Método 2: configuración global
Si deseas configurar permanentemente la fuente espejo de la Universidad de Tsinghua y no usar HTTPS, puedes hacerlo modificando el archivo de configuración de pip.
Ruta del archivo de configuración:
- Windows:%APPDATA%\pip\pip.ini
- macOS/Linux:~/.config/pip/pip.conf
Añade el siguiente contenido al archivo de configuración:
[global] index-url = http://pypi.tuna.tsinghua.edu.cn/simple trusted-host = pypi.tuna.tsinghua.edu.cn
Así, cada vez que uses pip, se utilizará automáticamente la fuente espejo de la Universidad de Tsinghua y no se forzará el uso de HTTPS.