English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderemos a usar pip para instalar y gestionar paquetes de Python.
pip es el administrador de paquetes estándar de Python. Podemos usar pip para instalar otros paquetes que no se incluyen en la biblioteca estándar de Python. Por ejemplo:
pip install numpy
Si hemos instalado pip en el sistema, este comando instalará la biblioteca numpy.
pip se instala por defecto en Python 3.4o una versión más antigua. Podemos verificar si pip está instalado utilizando el siguiente comando en la consola de comandos:
pip --version
Si pip ya existe en el sistema, pip mostrará la versión correspondiente, por ejemplo:
pip 19.3.1 from C:\Python37\lib\site-packages\pip (python 3.7)
Si estamos utilizando una versión antigua de Python o si pip no se ha instalado por otros motivos, siga los pasos descritos en este enlace:pip instala
pip es un programa de línea de comandos. Después de la instalación, se agrega pip como un comando que se puede usar junto con el símbolo del sistema.
La sintaxis básica de pip es:
pip <pip arguments>
Además de las bibliotecas estándar de Python, la comunidad Python ha diseñado muchos paquetes específicamente para varios marcos de desarrollo, herramientas y bibliotecas.
La mayoría de estos paquetes se almacenan y publican formalmente enEl índice de paquetes de Python (PyPI).pip nos permite descargar e instalar estos paquetes.
El comando install se utiliza para instalar paquetes usando pip. Vamos a dar un ejemplo:
Supongamos que queremos instalar requests, una biblioteca HTTP popular en Python. Podemos operar con la ayuda de los siguientes comandos.
pip install requests
Resultado de salida
Recopilando requests Using cached https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl Recopilando chardet<3.1.0,>=3.0.2 Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl Recopilando urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 Using cached https://files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl Recopilando idna<2.9,>=2.5 Using cached https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl Recopilando certifi>=2017.4.17 Descargando https://files.pythonhosted.org/packages/b9/63/df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99/certifi-2019.11.28-py2.py3-none-any.whl (156kB) Instalando paquetes recopilados: chardet, urllib3, idna, certifi, requests Successfully installed certifi-2019.11.28 chardet-3.0.4 idna-2.8 requests-2.22.0 urllib3-1.25.7
Aquí podemos ver que el comando install se utiliza junto con pip, seguido del nombre del paquete que queremos instalar (requests).
pip también instala todas las otras dependencias necesarias para este paquete de software, como chardet, urllib3y certifi.
Si se utiliza pip install en su forma más mínima, pip descargará la última versión del paquete de software.
A veces, solo una versión específica es compatible con otros programas. Por lo tanto, podemos definir la versión del paquete de la siguiente manera:
pip install requests==2.21.0
Aquí, ya hemos instalado la biblioteca requests de la versión2.21versión .0.
El comando pip list se puede usar para listar todos los paquetes disponibles en el entorno Python actual.
pip list
Resultado de salida
Package Version ---------- ---------- certifi 2019.11.28 chardet 3.0.4 idna 2.8 pip 19.3.1 requests 2.22.0 setuptools 45.0.0 urllib3 1.25.7 wheel 0.33.6
El comando pip show muestra información sobre uno o más paquetes instalados. Vamos a ver un ejemplo:
pip show requests
Resultado de salida
Name: requests Version: 2.22.0 Summary: Python HTTP for Humans. Home-page: http://python-requests.org Author: Kenneth Reitz Author-email: [email protected] License: Apache 2.0 Location: c:\users\dell\desktop\venv\lib\site-packages Requires: certifi, chardet, urllib3, idna Required-by:
Aquí, el comando show muestra información sobre la biblioteca requests. Nota elRequiresyRequired-bycolumna.
La columna Requires muestra las dependencias que necesita la biblioteca requests. Y, Required-La columna by muestra los paquetes que requieren requests.
Podemos desinstalar el paquete pip y usar el comando pip uninstall.
Supongamos que queremos eliminar la biblioteca requests del entorno Python actual. Podemos hacerlo de la siguiente manera:
pip uninstall requests
Resultado de salida
Uninstalling requests-2.22.0: Would remove: C:\Python37\lib\site-packages\requests-2.22.0.dist-info\* C:\Python37\lib\site-packages\requests\* Proceed (y/n)? y Successfully uninstalled requests-2.22.0
Como podemos ver, el paquete requests se elimina después de la indicación final.
Atención:Incluso si se eliminan los paquetes especificados, no se eliminarán los paquetes instalados como dependencias. En este caso, las dependencias de la biblioteca requests (chardet, urllib3y certifi) no se desinstalarán.
Si es necesario eliminar también las dependencias del paquete, se puede usar el comando pip show para ver los paquetes instalados y eliminarlos manualmente.
Un archivo que contiene todos los nombres de los paquetes también se puede usar para instalar paquetes de Python en lote.
Veamos un ejemplo:
Supongamos que tenemos un archivorequirements.txt,que contiene las siguientes entradas:
numpy Pillow pygame
Podemos instalar todos estos paquetes y sus dependencias con una sola orden pip.
pip install -r requirements.txt
Resultado de salida
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 Instalando paquetes recopilados: numpy, Pillow, pygame Successfully installed Pillow-7.0.0 numpy-1.18.1 pygame-1.9.6
Aquí, usamos el mismo comando install para pip.
Pero, el parámetro adicional-r especifica que estamos pasando un archivo de requisitos en lugar del nombre del paquete a pip.
En lugar de crear manualmente un archivo de requisitos, pip proporciona el comando freeze. Vamos a ver cómo se utiliza este comando.
Supongamos que nuestro entorno de Python actual tiene los siguientes paquetes. Se pueden mostrar con 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
El comando freeze lista los paquetes de Python no preinstalados.
pip freeze
Resultado de salida
numpy==1.17.0 Pillow==6.1.0 pygame==1.9.6
El comando pip freeze muestra el paquete y la versión en el formato del archivo de requisitos.
Por lo tanto, se puede usar el siguiente comando para redirigir la salida para crear un archivo de requisitos:
pip freeze > requirements.txt
Crear un nuevo en el directorio de trabajorequirements.txtArchivo. Puede usarlo en otros entornos de Python en el futuro para instalar versiones específicas de paquetes.
El comando de búsqueda se utiliza para buscar paquetes en la línea de comandos. Vamos a ver un ejemplo:
pip búsqueda pygame
Resultado de salida
pygame-anisprite (1.0.0) - Sprite animados para PyGame! pygame-ai (0.1.2) - Paquete de IA para juegos de video para PyGame pygame-motor (0.0.6) - Motor de juego simple para pygame pygame-assets (0.1) - Gestor de activos para aplicaciones de Pygame pygame-gui (0.4.2) - Módulo GUI para pygame 2 pygame-spritesheet (0.2.0) - Extensión de pygame de Python que proporciona la clase SpriteSheet. pygame-minesweeper (1.0) - Juego de Minesweeper implementado en python usando pygame pygame-menú (2.1.0) - Un menú para pygame, simple, ligero y fácil de usar pygame-gráfico (0.1) - Visualización rápida de datos usando pygame con un estilo de matplotlib pygame (1.9.6) - Desarrollo de juegos en Python ...
Aquí, hemos buscado una biblioteca llamada pygame. Se muestran todos los otros paquetes que coinciden con la palabra clave. Este comando ayuda a encontrar paquetes relacionados.
Para obtener más información sobre pip, visite:Python pip (documento oficial)