Instalación de Paquetes Python en Linux

LinuxBeginner
Practicar Ahora

Introducción

Los paquetes de Python extienden la funcionalidad de Python al proporcionar herramientas y bibliotecas especializadas para diversas tareas. Instalar y gestionar estos paquetes de manera eficiente es una habilidad esencial para los desarrolladores de Python.

En este laboratorio, aprenderá a usar pip, el instalador de paquetes estándar de Python, en un sistema Linux. Configurará su entorno, instalará paquetes, gestionará dependencias y explorará diferentes opciones de instalación. Estas habilidades son fundamentales para cualquier desarrollador de Python que trabaje en entornos Linux.

Configuración de su Entorno Python

En este paso, preparará un entorno Python limpio para la gestión de paquetes. Aprenderá a usar entornos virtuales, que son esenciales para gestionar las dependencias de proyectos sin conflictos.

Verificación de Python y pip

Primero, verifiquemos que Python y pip estén disponibles:

python3 --version
pip3 --version

Debería ver la información de la versión de Python 3.10.x y pip. Si pip no está instalado, instálelo:

sudo apt update
sudo apt install python3.10-venv -y
sudo apt upgrade python3-pip -y

Creación de un Entorno Virtual

Los entornos virtuales crean espacios aislados de Python para cada proyecto. Esto evita conflictos de paquetes entre diferentes proyectos:

cd ~/project
python3 -m venv myproject_env
source myproject_env/bin/activate

Su prompt ahora debería mostrar (myproject_env) indicando que está en el entorno virtual. Dentro de un entorno virtual, puede usar pip en lugar de pip3.

Creación de un Archivo de Requisitos (Requirements File)

Cree un archivo requirements.txt para rastrear las dependencias de su proyecto:

touch requirements.txt

Este archivo le ayudará a recrear el mismo entorno en diferentes sistemas.

Instalación de Paquetes Python

En este paso, aprenderá a instalar paquetes de Python tanto individualmente como utilizando un archivo de requisitos. Asegúrese de estar en su entorno virtual (debería ver (myproject_env) en su prompt).

Instalación de su Primer Paquete

Instalemos el paquete requests, que se usa comúnmente para realizar solicitudes HTTP:

pip install requests

Verá el progreso de descarga e instalación. Verifique la instalación:

pip list

Debería ver requests en la lista de paquetes instalados.

Uso de un Archivo de Requisitos (Requirements File)

Ahora especifiquemos múltiples paquetes con versiones exactas en su archivo de requisitos. Ábralo:

nano requirements.txt

Agregue el siguiente contenido:

requests==2.31.0
numpy==1.24.3
pandas==2.0.3

Guarde con Ctrl+O, Enter, luego salga con Ctrl+X.

Este enfoque garantiza entornos consistentes en diferentes sistemas al especificar versiones exactas de los paquetes.

Instalación desde el Archivo de Requisitos

Instale todos los paquetes de su archivo de requisitos:

pip install -r requirements.txt

Dado que requests ya está instalado, pip lo mantendrá o lo actualizará para que coincida con la versión especificada. Los nuevos paquetes (numpy y pandas) se instalarán desde cero.

Verifique que todos los paquetes estén instalados:

pip list | grep -E "(requests|numpy|pandas)"

Debería ver los tres paquetes con sus versiones especificadas.

Gestión de Versiones de Paquetes

En este paso, aprenderá operaciones esenciales de gestión de paquetes: verificar información de paquetes, actualizar paquetes e instalar versiones específicas.

Visualización de Información de Paquetes

Verifique información detallada sobre un paquete instalado:

pip show requests

Esto muestra la versión, dependencias, licencia y la información de la ubicación de instalación.

Instalación de Versiones Específicas

A veces necesita una versión diferente por compatibilidad. Instale una versión específica de numpy:

pip install numpy==1.23.5

Verifique el cambio de versión:

pip show numpy | grep Version

Debería ver la versión 1.23.5 en lugar de la 1.24.3.

Actualización de Paquetes

Actualice un paquete a su última versión:

pip install --upgrade pandas

Esto actualiza pandas a la versión más reciente disponible.

"Congelación" de su Entorno (Freezing Your Environment)

Genere una lista completa de sus paquetes y versiones actuales:

pip freeze > current_env.txt

Vea el archivo generado:

cat current_env.txt

Este archivo se puede usar para recrear exactamente el mismo entorno en otro lugar usando pip install -r current_env.txt.

Trabajar con Entornos Virtuales y Dependencias

En este paso final, aprenderá las mejores prácticas para entornos virtuales y cómo gestionar las dependencias de proyectos de manera efectiva.

Desactivar y Reactivar

Practique la desactivación de su entorno virtual:

deactivate

Su prompt debería volver a la normalidad (sin (myproject_env)). Intente ejecutar pip list:

pip list

Verá solo los paquetes instalados en el sistema. Ahora reactive su entorno:

source ~/project/myproject_env/bin/activate

Observe cómo sus paquetes de proyecto regresan cuando reactiva.

Comprensión de las Dependencias

Verifique qué paquetes dependen de otros:

pip show pandas

Mire la línea "Requires" para ver las dependencias de pandas. Es por esto que la gestión de entornos es crucial: instalar un paquete a menudo instala muchos otros.

Limpieza y Mejores Prácticas

Cree un archivo de requisitos limpio con solo sus dependencias directas:

nano ~/project/requirements.txt

Reemplace el contenido solo con los paquetes que necesita explícitamente (no sus dependencias):

requests==2.31.0
numpy==1.23.5
pandas==2.0.3

Guarde y salga. Cuando otra persona instale desde este archivo, pip gestionará automáticamente las dependencias.

Compartir su Entorno

Su entorno está ahora listo para ser compartido. Cualquiera puede recrearlo usando:

pip install -r requirements.txt

Esta es la base del desarrollo reproducible en Python.

Resumen

En este laboratorio, ha dominado los fundamentos de la gestión de paquetes de Python en Linux:

  • Configuración del Entorno: Creación y gestión de entornos virtuales de Python para el aislamiento de proyectos.
  • Instalación de Paquetes: Instalación de paquetes individualmente y utilizando archivos de requisitos con versiones específicas.
  • Gestión de Versiones: Actualización de paquetes, instalación de versiones específicas y generación de instantáneas del entorno.
  • Mejores Prácticas: Aprendizaje para mantener listas de dependencias limpias y compartir entornos reproducibles.

Estas habilidades son esenciales para cualquier desarrollador de Python. Los entornos virtuales evitan conflictos entre proyectos, mientras que la gestión adecuada de dependencias asegura que su código funcione de manera consistente en diferentes sistemas.

¡Ahora está listo para gestionar paquetes de Python con confianza en cualquier entorno de desarrollo de Linux!