Instalación de paquetes de Python en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Los paquetes de Python amplían 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 (LabEx), aprenderás a utilizar pip, el instalador de paquetes estándar de Python, en un sistema Linux. Configurarás tu entorno, instalarás paquetes, gestionarás dependencias y explorarás diferentes opciones de instalación. Estas habilidades son fundamentales para cualquier desarrollador de Python que trabaje en entornos Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicSystemCommandsGroup -.-> linux/source("Script Executing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/UserandGroupManagementGroup -.-> linux/env("Environment Managing") linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") linux/PackagesandSoftwaresGroup -.-> linux/pip("Python Package Installing") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/source -.-> lab-271355{{"Instalación de paquetes de Python en Linux"}} linux/touch -.-> lab-271355{{"Instalación de paquetes de Python en Linux"}} linux/cd -.-> lab-271355{{"Instalación de paquetes de Python en Linux"}} linux/env -.-> lab-271355{{"Instalación de paquetes de Python en Linux"}} linux/apt -.-> lab-271355{{"Instalación de paquetes de Python en Linux"}} linux/pip -.-> lab-271355{{"Instalación de paquetes de Python en Linux"}} linux/nano -.-> lab-271355{{"Instalación de paquetes de Python en Linux"}} end

Configuración de tu entorno de Python

En este paso, prepararás tu entorno de trabajo para la gestión de paquetes de Python. Primero, entendamos lo que necesitamos:

  • Python: El lenguaje de programación en sí
  • pip: El instalador de paquetes de Python (Python Package Installer), una herramienta para instalar y gestionar paquetes de Python

Verificación de la instalación de Python

Comencemos verificando si Python ya está instalado en tu sistema:

python3 --version

Deberías ver una salida similar a:

Python 3.10.x

Si Python no está instalado, utilizarías el siguiente comando para instalarlo (no necesitarás ejecutar esto ya que Python ya está instalado en el entorno del laboratorio - LabEx):

sudo apt update && sudo apt install python3

Instalación de pip

Ahora, instalemos pip, que es el gestor de paquetes estándar para Python:

sudo apt install python3-pip

Después de que se complete la instalación, verifica que pip esté instalado correctamente comprobando su versión:

pip3 --version

Deberías ver una salida que muestre la versión de pip, similar a:

pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)

Creación de un archivo de requisitos

Las mejores prácticas de gestión de paquetes incluyen mantener una lista de paquetes necesarios en un archivo llamado requirements.txt. Esto permite instalaciones consistentes en diferentes entornos.

Crea este archivo en el directorio de tu proyecto:

cd ~/project
touch requirements.txt

Abre el archivo con el editor de texto nano:

nano requirements.txt

Por ahora, deja este archivo vacío. Agregaremos paquetes en el siguiente paso. Para salir de nano, presiona Ctrl+X, luego presiona N ya que aún no necesitamos guardar ningún cambio.

Instalación de paquetes de Python con pip

En este paso, aprenderás a instalar paquetes de Python utilizando pip. Hay dos formas principales de instalar paquetes:

  1. Instalar paquetes individuales directamente
  2. Instalar múltiples paquetes desde un archivo de requisitos

Comprensión de los paquetes de Python

Los paquetes de Python son colecciones de módulos que amplían la funcionalidad de Python. Algunos paquetes populares son:

  • requests: Para realizar solicitudes HTTP
  • numpy: Para computación numérica
  • pandas: Para análisis de datos
  • matplotlib: Para visualización de datos

Instalación de paquetes individuales

Para instalar un solo paquete, utiliza la siguiente estructura de comando:

pip3 install package_name

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

pip3 install requests

Deberías ver una salida que muestre el progreso de descarga e instalación, finalizando con un mensaje de instalación exitosa.

Creación de un archivo de requisitos

Ahora, preparemos un archivo de requisitos para especificar múltiples paquetes y sus versiones. Abre el archivo requirements.txt creado anteriormente:

nano ~/project/requirements.txt

Agrega las siguientes líneas al archivo:

requests==2.25.1
numpy==1.20.1

Guarda el archivo presionando Ctrl+O, luego Enter, y sal de nano presionando Ctrl+X.

Este archivo especifica que queremos instalar:

  • requests versión 2.25.1
  • numpy versión 1.20.1

Especificar las versiones garantiza la consistencia en diferentes entornos.

Instalación desde un archivo de requisitos

Ahora, instala los paquetes especificados en el archivo de requisitos:

pip3 install -r ~/project/requirements.txt

Deberías ver cómo se descargan e instalan los paquetes. Ten en cuenta que si requests ya está instalado pero con una versión diferente, pip lo actualizará o lo degradará para que coincida con la versión en requirements.txt.

Verificación de los paquetes instalados

Después de la instalación, verifica que los paquetes se hayan instalado correctamente:

pip3 list

Este comando muestra todos los paquetes de Python instalados. Busca requests y numpy en la lista, que deben mostrar las versiones exactas especificadas en tu archivo de requisitos:

Package    Version
---------- -------
...
numpy      1.20.1
...
requests   2.25.1
...

Gestión de versiones de paquetes de Python

En este paso, aprenderás cómo actualizar paquetes, instalar versiones específicas y desinstalar paquetes cuando sea necesario.

Verificación de la información de un paquete

Antes de actualizar o cambiar un paquete, es útil verificar su información actual:

pip3 show requests

Esto mostrará detalles sobre el paquete requests, incluyendo:

  • Versión
  • Resumen
  • Autor
  • Licencia
  • Ubicación en tu sistema
  • Dependencias

Actualización de un paquete

Para actualizar un paquete a su última versión, utiliza la bandera --upgrade:

pip3 install --upgrade requests

Esto actualizará el paquete requests a la última versión disponible. Ten en cuenta que esto podría anular la versión especificada en tu archivo requirements.txt.

Instalación de una versión diferente

A veces, es posible que necesites instalar una versión específica de un paquete por razones de compatibilidad:

pip3 install numpy==1.19.5

Esto degradará numpy a la versión 1.19.5. Puedes verificar el cambio con:

pip3 show numpy

La salida ahora debería mostrar la versión 1.19.5 en lugar de 1.20.1.

Desinstalación de paquetes

Para eliminar un paquete que ya no necesitas, utiliza:

pip3 uninstall -y numpy

La bandera -y confirma automáticamente la desinstalación sin solicitar confirmación. Puedes verificar que el paquete se haya eliminado:

pip3 list | grep numpy

Esto no debería devolver resultados, lo que indica que numpy ya no está instalado.

Reinstalación de paquetes necesarios

Ahora, reinstalemos los paquetes de acuerdo con nuestro archivo requirements.txt:

pip3 install -r ~/project/requirements.txt

Esto reinstalará los paquetes con las versiones especificadas en el archivo. Verifica con:

pip3 list | grep numpy

Deberías ver que la versión 1.20.1 de numpy se ha reinstalado.

Trabajo con entornos virtuales de Python

Los entornos virtuales son entornos de Python aislados que te permiten instalar paquetes sin afectar la instalación de Python a nivel de sistema. Esto es especialmente útil cuando trabajas en múltiples proyectos con diferentes dependencias.

Comprensión de los entornos virtuales

Un entorno virtual:

  • Crea un espacio aislado para proyectos de Python
  • Permite que cada proyecto tenga sus propias dependencias
  • Evita conflictos entre los requisitos de los proyectos

Creación de un entorno virtual

Python viene con el módulo venv para crear entornos virtuales. Creemos uno:

python3 -m venv ~/project/myenv

Este comando crea un nuevo entorno virtual llamado myenv en tu directorio de proyecto.

Activación del entorno virtual

Para usar el entorno virtual, debes activarlo:

source ~/project/myenv/bin/activate

Después de la activación, tu indicador de comando debería cambiar para indicar que ahora estás trabajando dentro del entorno virtual. Se verá algo así:

(myenv) labex@hostname:~/project$

Instalación de paquetes en el entorno virtual

Ahora, los paquetes que instales estarán aislados en este entorno. Instalemos un nuevo paquete:

pip install matplotlib

Ten en cuenta que dentro del entorno virtual, puedes usar pip en lugar de pip3.

Verifica la instalación:

pip list

Verás que matplotlib está instalado, pero solo en este entorno virtual.

Desactivación del entorno virtual

Cuando hayas terminado de trabajar en el entorno virtual, puedes desactivarlo:

deactivate

Tu indicador de comando volverá a la normalidad, lo que indica que estás de vuelta en el entorno de Python a nivel de sistema.

Comparación de entornos

Ahora que estás de vuelta en el entorno global, verifica si matplotlib está instalado:

pip3 list | grep matplotlib

No deberías ver resultados, lo que confirma que los paquetes instalados en el entorno virtual están aislados del entorno global.

Resumen

En este laboratorio, has aprendido habilidades esenciales para gestionar paquetes de Python en sistemas Linux:

  • Configuración de tu entorno de Python con pip
  • Instalación de paquetes individualmente y desde un archivo requirements.txt
  • Gestión de versiones de paquetes (actualización, degradación, desinstalación)
  • Trabajo con entornos virtuales para dependencias de proyectos aisladas

Estas habilidades forman una parte fundamental del flujo de trabajo de desarrollo de Python. Una gestión adecuada de paquetes garantiza que tus proyectos tengan las dependencias correctas, lo que hace que tu proceso de desarrollo sea más confiable y reproducible.

A medida que continúes tu viaje en Python, descubrirás que estas habilidades de gestión de paquetes son esenciales para todo tipo de desarrollo de Python, desde aplicaciones web hasta ciencia de datos y más allá.