curso
Tutorial de Pip Python para la gestión de paquetes
Si estás pensando en convertirte en un científico de datos, cuanto antes empieces a aprender a codificar, mejor. Los profesionales de los datos pasan gran parte de su tiempo codificando. Los lenguajes de programación son las herramientas clave que permiten a los profesionales de los datos analizar y extraer información significativa de grandes cantidades de datos.
Probablemente el lenguaje de programación más popular para la ciencia de datos sea Python. Python es un lenguaje de programación de código abierto, de uso general y potente, con aplicaciones en muchos ámbitos del software, como el desarrollo web, el desarrollo de juegos y, por supuesto, la ciencia de datos.
Aunque Python por sí solo ya es capaz de hacer muchas cosas geniales, los profesionales de los datos -y, más ampliamente, los desarrolladores de software- suelen hacer uso de paquetes adicionales -también conocidos como bibliotecas- para facilitarles la vida. Un paquete es una colección de archivos, módulos y dependencias relacionados que pueden utilizarse repetidamente en diferentes aplicaciones y problemas.
Uno de los principales puntos fuertes de Python es su amplio catálogo de bibliotecas bien documentadas y completas. ¿Dónde están alojadas estas bibliotecas? ¿Cómo puedes instalar y gestionar los paquetes que te interesan?
En este tutorial, te introducirás en el mundo de los paquetes en Python y en pip, el instalador estándar de paquetes para Python. Pip es una potente herramienta que te permitirá aprovechar y gestionar los muchos paquetes de Python con los que te encontrarás como profesional de los datos y como programador.
Comprender los paquetes en Python
Utilicemos una metáfora para entender qué es pip. Imagina que Python es una caja de herramientas bonita y equilibrada con los elementos esenciales que necesitarás para codificar. Cuando compras (instalas) Python en tu ordenador, viene con una amplia colección de herramientas adicionales (paquetes) que puedes utilizar en cualquier momento.
La llamada Biblioteca Estándar de Python es un amplio conjunto de paquetes incorporados que proporciona soluciones estandarizadas para muchos problemas que surgen en la programación cotidiana. Como estos paquetes vienen incluidos en las distribuciones modernas de Python, puedes utilizarlos sin necesidad de ninguna instalación adicional. Sólo tienes que "importarlos" a tu espacio de trabajo (más adelante hablaremos de ello).
Sin embargo, a veces no encontrarás la herramienta que buscas en Python o en su Biblioteca Estándar. En estos casos, tendrás que conseguir nuevas herramientas en otro lugar. Afortunadamente, Internet es un inmenso almacén donde puedes encontrar cientos de miles de paquetes desarrollados por desarrolladores de Python para todo tipo de propósitos.
¿Y lo mejor? La gran mayoría de estos paquetes son de uso gratuito. Si quieres saber más sobre paquetes en Python y cómo desarrollar tus propios paquetes, consulta nuestro Curso de Desarrollo de Paquetes en Python.
Aunque los paquetes de terceros pueden alojarse en distintos lugares, el repositorio más popular y completo es el Índice de Paquetes Python (PyPi). Con más de 300.000 paquetes Python disponibles, PyPI es un gigantesco repositorio online de paquetes aceptados por la comunidad Python.
Una vez que hayas identificado el paquete que buscas, tendrás que descargarlo e instalarlo en tu ordenador para poder utilizarlo. ¿Cómo puedes hacerlo? Aquí es donde entran en juego los gestores de paquetes.
Comprender los gestores de paquetes: pip
Un gestor de paquetes (también llamado sistema de gestión de paquetes) es una herramienta que automatiza el proceso de instalación, actualización, configuración y eliminación de paquetes de un ordenador de forma coherente.
Los gestores de paquetes están diseñados para eliminar la necesidad de instalaciones y actualizaciones manuales, garantizando así que un paquete se instala junto con todas las dependencias que necesita para funcionar. Asimismo, como los gestores de paquetes aprovechan la información almacenada en repositorios de paquetes certificados, como PyPi y Anaconda, garantizan la integridad y autenticidad de los paquetes.
El gestor de paquetes más popular para Python es pip. Desarrollado en 2008, pip (acrónimo de "pip Install Packages") es hoy la herramienta estándar para instalar paquetes de Python y sus dependencias de forma segura. Las distribuciones más recientes de Python vienen con pip preinstalado. Python 2.7.9 y Python 3.4 y versiones posteriores incluyen pip por defecto.
Pip es una herramienta potente y fácil de usar que te permite gestionar paquetes de Python utilizando un puñado de comandos. Aunque pip utiliza PyPi como repositorio por defecto para obtener paquetes, también tiene capacidad para instalar paquetes de otras fuentes, entre ellas
- Sistemas de control de versiones como Github, Mercurial, Subversion y Bazaar.
- Archivos de requisitos. Normalmente, los paquetes de Python requieren varios paquetes para ejecutarse. Para instalar todos los paquetes necesarios de una vez, pip utiliza el llamado requirements.txt, que contiene una lista de los paquetes necesarios, así como las versiones correctas.
- Archivos de distribución. Son archivos versionados, listos para instalar, que contienen paquetes de Python, módulos y otros archivos de recursos necesarios para que un paquete funcione. Se presentan de dos formas:
- Distribución de origen (normalmente abreviada como "sdist")
- Distribución de la rueda (normalmente abreviada como "rueda")
Para utilizar pip y empezar a gestionar paquetes, primero tienes que asegurarte de que está instalado en tu ordenador. Para comprobar si pip está disponible, ejecuta una de las siguientes sentencias en la línea de comandos:
>>pip3 --version
>>pip --version
pip vs pip3 vs pip2
Después de leer la sección anterior, puede que te estés preguntando cuál es la diferencia entre pip y pip3. Tras el lanzamiento de Python 3, pip incorporó el nuevo comando pip3, que funciona siempre en el entorno Python 3 de tu ordenador. Lo mismo ocurre con el comando pip2. Por tanto, si quieres asegurarte de que pip funciona en tu entorno Python 3 o en tu entorno Python 2, utiliza los comandos pip3 o pip2, respectivamente.
En cambio, el comando pip opera en el entorno Python que sea adecuado al contexto. Esto es relevante cuando tienes tanto Python 2 como Python 3 instalados en tu ordenador.
Por ejemplo, los ordenadores MacOS dependen de Python 2 para ejecutar algunas de sus funcionalidades básicas. Si estás trabajando en un entorno Python 2, el comando pip instalará, desinstalará, actualizará o gestionará paquetes Python para Python 2. Lo mismo ocurre si trabajas en un entorno Python 3.
Sin embargo, en estas situaciones, debes estar seguro del entorno Python en el que trabajas antes de utilizar el comando pip, pues de lo contrario podrías manipular paquetes en el entorno equivocado.
pip en acción
Ahora que ya conoces las bases de pip y lo tienes instalado en tu ordenador, ¡vamos a ver cómo puedes utilizarlo!
Instalar paquetes con pip
El uso más común de pip es instalar paquetes de Python. Por ejemplo, si quieres instalar pandas, el paquete estándar para manipular marcos de datos en Python, la forma más sencilla de hacerlo es ejecutando la siguiente instrucción:
>>pip install pandas
[...]
Successfully installed pandas
Puede que necesites instalar un paquete en una versión determinada. Esto es bastante fácil con pip. Sólo tienes que especificar la versión que quieres instalar. Digamos que quieres instalar la versión 1.4.0 de pandas:
>>pip install pandas==1.4.0
En caso de que quieras instalar un paquete que cumpla determinadas condiciones en cuanto a versiones, pip te permite utilizar ciertas condiciones booleanas. Por ejemplo, si quieres instalar una versión de pandas mayor o igual que v.1.0.0 y menor que 1.5:
>>pip install pandas>=1.0.0,<1.5.0
Instalar el paquete scikit-learn con pip
En el siguiente ejemplo, aprenderás cómo puedes instalar el programa scikit-learn que instalará las demás dependencias necesarias.
pip install scikit-learn
Puede que notes en los registros que se está instalando algo más que el paquetescikit-learn
. Esto se debe a que pip instalará cualquier otro paquete del que dependascikit-learn. Estos otros paquetes se llaman dependencias.
Instalar una lista de paquetes utilizando archivos de requisitos pip
Cuando trabajas en proyectos colaborativos, es muy habitual que todos los miembros del equipo utilicen los mismos paquetes con las mismas versiones. Para asegurarte de ello, la mejor forma es instalar paquetes utilizando un archivo de requisitos. Suele ser un archivo de texto que contiene todos los paquetes, junto con sus respectivas versiones, que se utilizan en el proyecto.
Pip te permite instalar una lista de paquetes a la vez utilizando un archivo de requisitos. Por ejemplo, si necesitamos para nuestro proyecto los paquetes numpy, pandas y TensorFlow, podríamos incluirlos, junto con las versiones deseadas, en un archivo requirements.txt, como se muestra a continuación:
Para instalar los paquetes enumerados en un archivo requirements.txt, sólo tenemos que ejecutar
>>pip install -r requirements.txt
Si quieres crear un archivo de requisitos para compartirlo con el resto del equipo, puedes utilizar la siguiente instrucción:
>>pip freeze > requirements.txt
Instalar paquetes desde GitHub con pip
Además de PyPi, hay otras fuentes en Internet donde se pueden alojar paquetes de Python. Los sistemas de control de versiones como GitHub incluyen repositorios de paquetes donde puedes subir y compartir paquetes con la comunidad Python.
Supongamos que quieres instalar paquetes alojados en GitHub. Pip sólo necesita que un ejecutable funcional esté disponible en una URL de GitHub. Por ejemplo:
>>pip install git+https://github.com/pypa/sampleproject.git@main
pip Actualizar paquetes
A veces necesitarás actualizar a una versión más reciente un paquete que ya tengas instalado en tu ordenador. Pip hace que este proceso sea extremadamente fácil. Por ejemplo, si quieres actualizar pandas a la última versión:
>>pip install --upgrade pandas
En caso de que quieras actualizar todos los paquetes enumerados en un requirements.txt, podrías utilizar:
>>pip install -r requirements.txt --upgrade
Es importante tener en cuenta que pip también realiza una desinstalación automática de una versión antigua de un paquete antes de actualizar a una versión más reciente.
Eliminar paquetes con pip
Eliminar un paquete es muy fácil con pip. Si quieres desinstalar pandas, sólo tienes que ejecutar
>>pip uninstall pandas
Comandos pip adicionales
Aunque instalar, actualizar y eliminar paquetes son las acciones más comunes que harás con pip, también hay otros comandos que merece la pena mencionar.
Si necesitas información adicional sobre los distintos comandos pip disponibles y cómo utilizarlos, ejecútalos:
>>pip help
Para listar todos los paquetes instalados en tu entorno:
>>pip list
Para ver un resumen de un paquete de tu interés:
>>pip show [NameOfPackage]
Solución de problemas pip
Aunque pip es un paquete bastante sencillo, con sólo un puñado de comandos, siempre pueden surgir problemas. Aquí tienes una lista de los problemas más comunes y cómo solucionarlos.
Instalar pip
Aunque es inusual, es posible que pip no esté instalado. En este caso, la forma más sencilla de instalar pip es ejecutando la siguiente sentencia. Esto hará que Python active el paquete incorporado ensurepip, que está diseñado para instalar pip en un entorno Python.
>>python3 -m ensurepip --default-pip
Si el problema persiste, consulta la documentación de pip para probar soluciones alternativas.
Pip no está actualizado
Las nuevas versiones de un paquete pueden aportar correcciones de errores, nuevas funciones y un rendimiento más rápido. Esto se aplica a todos los paquetes de Python, incluido pip. Si utilizas una versión anterior de pip, puedes experimentar un comportamiento inesperado. Por eso siempre es recomendable mantener pip actualizado, así como los paquetes setuptools y wheel, que son útiles para asegurarte de que también puedes instalar paquetes desde archivos fuente.
>>pip install –upgrade pip setuptools wheel
Conclusión
Esperamos que te haya gustado este tutorial. Como herramienta estándar para instalar paquetes, pip es una herramienta vital para los desarrolladores de Python. Es bastante fácil de usar, lo que hace que la gestión de paquetes sea un proceso sencillo una vez que te familiarizas con los comandos y la dinámica.
Si buscas recursos adicionales, consulta los siguientes materiales del DataCamp y ¡empieza hoy mismo con Python y pip!
Preguntas frecuentes sobre Python pip
¿Qué es un paquete en Python?
Un paquete es una colección de archivos, módulos y dependencias relacionados que pueden utilizarse repetidamente en diferentes aplicaciones y problemas.
¿Qué es un gestor de paquetes?
Un gestor de paquetes es una herramienta que automatiza el proceso de instalación, actualización, configuración y eliminación de paquetes de un ordenador de forma coherente.
¿Qué es pip?
pip es un gestor de paquetes estándar en Python.
¿Cómo puedes instalar un paquete con pip?
Utiliza pip install [NameOfPackage]
¿Cómo puedes actualizar un paquete con pip?
Utiliza pip install --upgrade [NameOfPackage]
¿Cómo puedes eliminar un paquete con pip?
Utiliza pip uninstall [NameOfPackage]
Cursos de Python
curso
Introducción a la Ciencia de Datos en Python
curso