🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónEntornos y dependencias
5 tareas · 35 min · Principiante
Un script de apoyo no vive solo: depende de bibliotecas, de sus versiones y del lugar donde se instalan. En Curtiembres Río Seco el resumen semanal funciona en el portátil de quien lo escribió y de otra manera en el servidor de apoyo. Lees el archivo de dependencias, la lista de paquetes instalados en cada sitio y lo publicado en los dos índices de paquetes. Aprendes a ver qué versiones están fijadas y cuáles no, dónde puede colarse un paquete que no es el que se esperaba y qué hace reproducible un entorno.
Objetivo de la sala
Un script de apoyo no vive solo: depende de bibliotecas, de sus versiones y del lugar donde se instalan. En Curtiembres Río Seco el resumen semanal funciona en el portátil de quien lo escribió y de otra manera en el servidor de apoyo. Lees el archivo de dependencias, la lista de paquetes instalados en cada sitio y lo publicado en los dos índices de paquetes. Aprendes a ver qué versiones están fijadas y cuáles no, dónde puede colarse un paquete que no es el que se esperaba y qué hace reproducible un entorno.Un archivo de dependencias lista los paquetes que el proyecto necesita. Cada línea puede ser solo el nombre, un rango como >=7 o una versión exacta con ==. Sin versión exacta, quien instale hoy y quien instale dentro de seis meses pueden recibir versiones distintas del mismo paquete, y el script no hará lo mismo.
Abre /proyecto/requirements.txt. Las líneas que empiezan por dos guiones no son paquetes: son opciones de instalación.
Responde para continuar
Escribe cuántos paquetes del archivo no tienen una versión exacta fijada.
Ver pista de ayuda
Cuenta las líneas de paquete en las que no aparece el signo de versión exacta; deja fuera la línea de opciones.
Además del índice público, una empresa puede tener un índice interno con sus propios paquetes. Para que pip busque en los dos, se añade una opción de índice adicional. Es cómodo, y trae un riesgo conocido: pip no sabe cuál de los dos es «el bueno»; compara las versiones que encuentra y puede escoger la más alta, venga de donde venga.
Si un nombre interno existe también en el índice público, publicado por otra persona, el paquete que se instale depende de los números de versión. Es una forma de que entre código ajeno en un servidor que lo ejecutará con permisos de la empresa.
Abre /proyecto/paquetes_indices.txt.
Responde para continuar
Escribe el nombre del paquete que existe en el índice interno y también en el público.
Ver pista de ayuda
Compara los dos bloques del archivo y busca el nombre que se repite.
En el archivo de dependencias de la carpeta, ese paquete aparece sin versión y hay una opción de índice adicional. Con esa combinación, ninguna regla impide que pip prefiera la versión publicada fuera.
No es una acusación contra nadie: es una situación de la que hay que dejar evidencia, comprobar qué quedó instalado en el servidor y cerrarla.
Responde para continuar
¿Por qué es un riesgo que el paquete repetido en los dos índices esté sin versión fijada y con el índice adicional activo?
pip freeze imprime los paquetes instalados con su versión exacta: es la fotografía del entorno. Comparar la de dos máquinas es la forma más rápida de explicar por qué un script se comporta diferente en cada una. Casi todo coincidirá, y la diferencia buscada suele ser una sola línea.
Abre freeze_portatil.txt y freeze_servidor.txt y compáralas línea a línea.
Responde para continuar
Escribe el nombre del paquete cuya versión instalada difiere entre el portátil y el servidor.
Ver pista de ayuda
Las dos listas están en el mismo orden; avanza línea a línea hasta que dos versiones no coincidan.
Un entorno reproducible es el que se puede reconstruir igual en otra máquina. Se logra con tres hábitos que se complementan: un entorno virtual por proyecto, para no mezclar paquetes con los del sistema; versiones exactas, para que todos reciban lo mismo; y una comprobación de que lo instalado coincide con lo declarado.
Instalar todo en el Python del sistema, como se hace en el servidor del ejemplo, es el punto de partida contrario: un proyecto puede romper a otro y nadie sabe qué paquete proviene de qué.
Responde para continuar
¿Qué conjunto de medidas deja el proyecto del servidor de apoyo en mejor estado?
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.