Recientemente vi que se usa --no-cache-dir en un archivo Docker. Nunca antes había visto esa bandera y la ayuda no la explica:
--no-cache-dir Disable the cache..whl , etc.) de los módulos que instala a través de pip.tar.gz , etc.) para evitar volver a descargarlos cuando no hayan caducadopip install previamente con configuraciones inesperadasexport PYCURL_SSL_LIBRARY=nss y pip install pycurlexport PYCURL_SSL_LIBRARY=openssl y pip install pycurl --compile --no-cache-dirEnlaces 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 al deshabilitar el caché.
Otra razón para deshabilitar el caché de pip: si ejecuta pip como un usuario que aún no existe, se creará su directorio de inicio, pero será propiedad de la raíz.
Esto nos sucede cuando construimos AMI de Amazon en un chroot: pip se ejecuta como un usuario que existe en la máquina de construcción, 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 acceder a lo que se acaba de crear, ya que no pueden leer su directorio .ssh.
Sin embargo, no puedo pensar en ninguna otra razón por la que pip se ejecutaría como un usuario que no existe, por lo que es un caso extremo.