pip (también conocido por el alias de Python 3 pip3 ) es un sistema de administración de paquetes escrito en Python y se utiliza para instalar y administrar paquetes de software . [4] La Python Software Foundation recomienda usar pip para instalar aplicaciones Python y sus dependencias durante la implementación. [5] Pip se conecta a un repositorio en línea de paquetes públicos, llamado Python Package Index . Pip se puede configurar para conectarse a otros repositorios de paquetes (locales o remotos), siempre que cumplan con la Propuesta de mejora de Python 503. [6] [7]
La mayoría de las distribuciones de Python vienen con pip preinstalado. Python 2.7.9 y posteriores (en la serie python2), y Python 3.4 y posteriores incluyen pip de forma predeterminada. [8]
Introducido por primera vez como pyinstall en 2008 por Ian Bicking (el creador del paquete virtualenv) como una alternativa a easy install, [9] [10] pip fue elegido como el nuevo nombre a partir de una de varias sugerencias que el creador recibió en su blog. [11] Según el propio Bicking, el nombre es un acrónimo recursivo de "Pip Installs Packages". [12] En 2011, se creó la Python Packaging Authority (PyPA) para hacerse cargo del mantenimiento de pip y virtualenv de Bicking, dirigida por Carl Meyer, Brian Rosner y Jannis Leidel. [10]
Con el lanzamiento de la versión 6.0 de pip (22/12/2014), se modificó el proceso de denominación de versiones para tener la versión en formato XY y eliminar el 1 anterior de la etiqueta de la versión. [13]
La interfaz de línea de comandos de Pip permite la instalación de paquetes de software Python emitiendo un comando:pip install some-package-name
Los usuarios también pueden eliminar el paquete emitiendo un comando:pip uninstall some-package-name
pip tiene una característica para administrar listas completas de paquetes y números de versión correspondientes, posible a través de un archivo de "requisitos". [14] Esto permite la recreación eficiente de un grupo completo de paquetes en un entorno separado (por ejemplo, otra computadora) o entorno virtual . Esto se puede lograr con un archivo con el formato correcto y el siguiente comando, [15] donde requirements.txt es el nombre del archivo: pip install -r requirements.txt
.
Para instalar algún paquete para una versión específica de Python, pip proporciona el siguiente comando, donde ${version}
se reemplaza por 2, 3, 3.4, etc.: pip${version} install some-package-name
.
Pip ofrece una forma de instalar proyectos definidos por el usuario de forma local mediante el uso del archivo setup.py . Este método requiere que el proyecto de Python tenga la siguiente estructura de archivos:
proyecto_de_ejemplo/├── exampleproject/ Paquete Python con código fuente.| ├── __init__.py Convierte la carpeta en un paquete.| └── example.py Módulo de ejemplo.└── README.md README con información del proyecto.
Dentro de esta estructura, el usuario puede agregar setup.py a la raíz del proyecto (es decir, a la estructura anterior) con el siguiente contenido:example_project
desde setuptools importar configuración , find_packagessetup ( name = 'example' , # Nombre del paquete. Este se usará cuando el proyecto se importe como un paquete. version = '0.1.0' , packages = find_packages ( include = [ 'exampleproject' , 'exampleproject.*' ]) # Pip instalará automáticamente las dependencias proporcionadas aquí. )
Después de esto, pip puede instalar este proyecto personalizado ejecutando el siguiente comando, desde el directorio raíz del proyecto: pip install -e
.
Además del repositorio PyPI predeterminado, Pip también admite repositorios personalizados. [16] Dichos repositorios pueden ubicarse en una URL HTTP(s) o en una ubicación del sistema de archivos.
Se puede especificar un repositorio personalizado usando la opción -i o—index-url, de la siguiente manera: pip install -i https://your-custom-repo/simple <package name>
; o con un sistema de archivos: pip install -i /path/to/your/custom-repo/simple <package name>
.