Solución:
- En caché es: guardar en la clandestinidad o para uso futuro
- Usado para
- almacenar los archivos de instalación (
.whl
, etc) de los módulos que instala a través de pip - almacenar los archivos fuente (
.tar.gz
, etc.) para evitar que se vuelvan a descargar cuando no haya caducado
- Razón posible es posible que desee deshabilitar la caché:
- no tienes espacio en tu disco duro
- previamente ejecutado
pip install
con inesperado ajustes- p.ej:
- previamente ejecutado
export PYCURL_SSL_LIBRARY=nss
ypip install pycurl
- quiero una nueva carrera
export PYCURL_SSL_LIBRARY=openssl
ypip install pycurl --compile --no-cache-dir
- previamente ejecutado
- p.ej:
- desea mantener una imagen de Docker lo más pequeña posible
Vínculos a la documentación
https://pip.pypa.io/en/stable/reference/pip_install/#caching – @emredjan https://pip.pypa.io/en/stable/reference/pip_install/ – @mikea
Creo que hay una buena razón para usar --no-cache-dir
cuando crea imágenes de Docker. El caché generalmente es inútil en una imagen de Docker, y definitivamente puede reducir el tamaño de la imagen deshabilitando el caché.
Otra razón para deshabilitar la caché de pip: si ejecuta pip como un usuario que aún no existe, se creará su directorio de inicio, pero será propiedad de root.
Esto nos sucede cuando construimos AMI de Amazon en un chroot: pip se ejecuta como un usuario que existe en la máquina del compilador, pero no en la cárcel chroot donde se está construyendo la AMI. Esto es problemático ya que ese usuario específico ahora no puede ssh a lo que se acaba de construir ya que su directorio .ssh no es legible por ellos.
Sin embargo, no puedo pensar en ninguna otra razón por la que pip se ejecute como un usuario que no existe, por lo que es un caso extremo.