Saltar al contenido

¿Para qué sirve el `–no-cache-dir` de pip?

Solución:

  1. En caché es: guardar en la clandestinidad o para uso futuro
  2. 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
  1. 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 y pip install pycurl
      • quiero una nueva carrera export PYCURL_SSL_LIBRARY=openssl y pip install pycurl --compile --no-cache-dir
  • 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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *