Pip de Python

En este tutorial, aprenderemos cómo usar pip para instalar y administrar paquetes de Python.

¿Qué es pip?

pipes el administrador de paquetes estándar para Python. Podemos usar pippara instalar paquetes adicionales que no están disponibles en la biblioteca estándar de Python. Por ejemplo,

 pip install numpy 

Si lo hubiéramos instalado pipen nuestro sistema, este comando habría instalado la numpybiblioteca.

¿Cómo instalar pip?

pipviene preinstalado en las versiones 3.4 o anteriores de Python. Podemos verificar si pipestá instalado usando el siguiente comando en la consola:

 pip --version 

Si pipya está disponible en el sistema, pipse muestra la versión respectiva , como:

 pip 19.3.1 desde C: Python37 lib site-packages pip (python 3.7) 

Si estamos usando una versión anterior de Python o no la hemos pipinstalado por algún otro motivo, siga los pasos que se describen en este enlace: instalación de pip

Usando pip

pipes un programa de línea de comandos. Después de su instalación, pipse agrega un comando que se puede usar con el símbolo del sistema.

La sintaxis básica de pip es:

 pip 

Instalación de paquetes con pip

Además de la biblioteca estándar de Python, la comunidad de Python contribuye a una gran cantidad de paquetes diseñados para varios marcos de desarrollo, herramientas y bibliotecas.

La mayoría de estos paquetes están alojados y publicados oficialmente en el índice de paquetes de Python (PyPI). pipnos permite descargar e instalar estos paquetes.

Instalación básica del paquete

El installcomando utilizado para instalar paquetes usando pip. Tomemos un ejemplo:

Supongamos que queremos instalar requestsuna biblioteca HTTP popular para Python. Podemos hacerlo con la ayuda del siguiente comando.

 pip install requests 

Salida

Recopilación de solicitudes utilizando en caché https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl Recopilación de archivos chardet = 3.0.2 .pythonhosted.org / packages / bc / a9 / 01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8 / chardet-3.0.4-py2.py3-none-any.whl Recopilando urllib3! = 1.25.0,! = 1.25.1, https: //files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl Recopilación de idna = 2.5 Uso de paquetes en caché /2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl Collecting certifi> = 2017.4.17 Descargando https: //files.pythonhosted.org / packages / b9 / 63 / df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99 / certifi-2019.11.28-py2.py3-none-any.whl (156kB) Instalación de paquetes recopilados: chardet, urllib8-certifi3, idnafully instalado 3.0.4 idna-2.8 solicitudes-2.22.0 urllib3-1.25.7

Aquí, podemos ver que pipse ha utilizado con el installcomando seguido del nombre del paquete que queremos instalar ( requests).

Todas las demás dependencias gusta chardet, urllib3y certifinecesaria para este paquete también se instalan pip.

Especificación de la versión del paquete

Cuando pip installse usa en su forma mínima, pipdescarga la versión más reciente del paquete.

A veces, solo una versión específica es compatible con otros programas. Entonces, podemos definir la versión del paquete de la siguiente manera:

 solicitudes de instalación de pip == 2.21.0 

Aquí, hemos instalado la versión 2.11.0 de la requestsbiblioteca.

Listado de paquetes instalados con pip

El pip listcomando se puede utilizar para enumerar todos los paquetes disponibles en el entorno actual de Python.

 pip list 

Salida

 Versión del paquete ---------- ---------- certifi 2019.11.28 chardet 3.0.4 idna 2.8 pip 19.3.1 solicita 2.22.0 setuptools 45.0.0 urllib3 1.25.7 wheel 0.33 .6 

Información del paquete con pip show

El pip showcomando muestra información sobre uno o más paquetes instalados. Veamos un ejemplo:

 pip show requests 

Salida

Nombre: solicitudes Versión: 2.22.0 Resumen: Python HTTP para humanos. Página de inicio: http://python-requests.org Autor: Kenneth Reitz Autor-correo electrónico: [email protected] Licencia: Apache 2.0 Ubicación: c: users dell desktop venv lib site-packages Requiere: certifi, chardet, urllib3, idna Requerido por:

Aquí, el showcomando muestra información sobre la requestsbiblioteca. Observe la columna Requiere y Requerido por en el resultado anterior.

La columna Requiere muestra qué dependencias requestsrequiere la biblioteca. Y, la columna Requerido por muestra los paquetes que lo requieren requests.

Desinstalar un paquete con pip

Podemos desinstalar un paquete usando pipcon el pip uninstallcomando.

Supongamos que queremos eliminar la requestsbiblioteca de nuestro entorno Python actual. Podemos hacerlo de la siguiente manera:

 pip uninstall requests 

Salida

Desinstalar request-2.22.0: Eliminaría: C: Python37 lib site-packages requirements-2.22.0.dist-info * C: Python37 lib site-packages orders * Proceed (y / norte)? y Solicitudes-2.22.0 desinstaladas con éxito

Como podemos ver, el requestspaquete se elimina después del mensaje final.

Note: Even though the specified package is removed, the packages that were installed as dependencies are not removed. In this case, the dependencies (chardet, urllib3, and certifi) of the requests library aren't uninstalled.

If we need to remove the dependencies of a package as well, we can use the pip show command to view installed packages and remove them manually.

Using Requirement Files

A file containing all the package names can also be used to install Python packages in batches.

Let's take a look at an example:

Suppose we have a file requirements.txt which has the following entries:

 numpy Pillow pygame 

We can install all these packages and their dependencies by using a single command in pip.

 pip install -r requirements.txt 

Output

 Collecting numpy Using cached https://files.pythonhosted.org/packages/a9/38/f6d6d8635d496d6b4ed5d8ca4b9f193d0edc59999c3a63779cbc38aa650f/numpy-1.18.1-cp37-cp37m-win_amd64.whl Collecting Pillow Using cached https://files.pythonhosted.org/packages/88/6b/66f502b5ea615f69433ae1e23ec786b2cdadbe41a5cfb1e1fabb4f9c6ce9/Pillow-7.0.0-cp37-cp37m-win_amd64.whl Collecting pygame Using cached https://files.pythonhosted.org/packages/ed/56/b63ab3724acff69f4080e54c4bc5f55d1fbdeeb19b92b70acf45e88a5908/pygame-1.9.6-cp37-cp37m-win_amd64.whl Installing collected packages: numpy, Pillow, pygame Successfully installed Pillow-7.0.0 numpy-1.18.1 pygame-1.9.6 

Here, we have used the same install command with pip.

However, the additional argument -r specifies pip that we are passing a requirements file rather than a package name.

Creating Requirements File

As an alternative to manually creating the requirements file, pip offers the freeze command. Let's look at how to use this command.

Suppose our current Python environment has the following packages. It can be displayed using pip list.

 Package Version ---------- ------- numpy 1.17.0 Pillow 6.1.0 pip 19.3.1 pygame 1.9.6 setuptools 45.0.0 wheel 0.33.6 

The packages that don't come preinstalled will Python are listed using the freeze command.

 pip freeze 

Output

 numpy==1.17.0 Pillow==6.1.0 pygame==1.9.6 

The pip freeze command displays the packages and their version in the format of the requirements file.

So this output can be redirected to create a requirements file using the following command:

 pip freeze> requirements.txt 

A new requirements.txt file is created in the working directory. It can later be used in other Python environments to install specific versions of packages.

Search packages in pip

The search command is used to search for packages in the command prompt. Let's look at an example:

 pip search pygame 

Output

 pygame-anisprite (1.0.0) - Animated sprites for PyGame! pygame-ai (0.1.2) - Videogame AI package for PyGame pygame-engine (0.0.6) - Simple pygame game engine. pygame-assets (0.1) - Assets manager for Pygame apps pygame-gui (0.4.2) - A GUI module for pygame 2 pygame-spritesheet (0.2.0) - Python pygame extension that provides SpriteSheet class. pygame-minesweeper (1.0) - Minesweeper game implemented in python using pygame pygame-menu (2.1.0) - A menu for pygame, simple, lightweight and easy to use pygame-plot (0.1) - Quick visualization of data using pygame with a matplotlib style pygame (1.9.6) - Python Game Development… 

Here, we have searched for a library called pygame. All other packages that match the keyword are displayed. This command is helpful for finding related packages.

Para obtener más información pip, visite: Python pip (documentación oficial)

Articulos interesantes...