En esta publicación, profundizaremos en la herramienta principal de administración de paquetes de Python: Pip. El contenido cubre los conceptos básicos, la instalación y configuración de Pip, el uso de fuentes espejo en China, la gestión de paquetes, la relación con el entorno virtual, el uso avanzado y la resolución de problemas.
1. Introducción
La gestión de dependencias se ha convertido en una tarea muy importante en la práctica moderna de desarrollo de software. Garantiza que podamos reconstruir nuestro entorno de desarrollo en cualquier lugar y también nos permite rastrear y actualizar fácilmente las bibliotecas de las que dependen nuestros proyectos. Python es uno de los lenguajes de programación más populares del mundo, con una gran cantidad de bibliotecas y marcos, gracias a la poderosa herramienta de administración de paquetes de Python, Pip.
La importancia de los administradores de paquetes de Python
El administrador de paquetes de Python permite a los desarrolladores descargar, instalar, actualizar y administrar paquetes de Python. Estos paquetes pueden ser bibliotecas de terceros, como numpy y tensorflow, o módulos o paquetes que usted mismo desarrolle. El administrador de paquetes simplifica el proceso de obtención y administración de estos recursos, lo que permite a los desarrolladores concentrarse más en el desarrollo.
Por ejemplo, podemos usar pip para instalar numpy, una popular biblioteca de Python:
pip install numpy
Después de ejecutar este comando, Pip descargará la biblioteca numpy del Índice de paquetes de Python (PyPI) y la instalará en el entorno actual. Si numpy ya está instalado, Pip también se puede usar para actualizar numpy a la última versión:
pip install --upgrade numpy
Por qué necesitas saber y usar Pip
Comprender y usar Pip de manera competente es muy importante para cualquier desarrollador de Python. La comunidad de Python ha desarrollado una gran cantidad de bibliotecas y marcos útiles, y los desarrolladores pueden descargar y usar fácilmente estas bibliotecas y marcos a través de Pip. Además, el uso de Pip puede ayudar a los desarrolladores a administrar mejor las dependencias de sus proyectos, creando y manteniendo sus aplicaciones de manera más eficiente.
2. El concepto básico de Pip
Para comprender profundamente y usar Pip de manera efectiva, primero debemos comprender algunos conceptos básicos.
que es pipa
Pip es un administrador de paquetes para Python que le permite instalar y administrar bibliotecas y dependencias adicionales no incluidas en la biblioteca estándar de Python. Pip es un acrónimo de recursividad y su nombre completo es "Pip Installs Packages" o "Pip Installs Python". Además de Python, Pip también se puede usar con algunas otras variantes de Python, como PyPy.
Las principales funciones de Pip son las siguientes:
- Instalar paquetes de Python
- Desinstalar paquetes de Python
- Actualizar paquetes de Python
- Ver paquetes de Python instalados
Por ejemplo, puede usar el siguiente comando para instalar la biblioteca de solicitudes:
pip install requests
Cuando ejecute este comando, Pip descargará e instalará la biblioteca de solicitudes del Índice de paquetes de Python (PyPI).
Historia y desarrollo de Pip
Pip se lanzó originalmente en 2008 para proporcionar una interfaz unificada para instalar y administrar paquetes de Python. Antes de Pip, los desarrolladores de la comunidad de Python usaban una variedad de herramientas y métodos diferentes para administrar paquetes, lo que generaba mucha confusión y duplicación de esfuerzos.
Pip ahora se ha convertido en una de las herramientas más importantes en el ecosistema de Python. Casi todos los proyectos modernos de Python confían en Pip para administrar sus bibliotecas y dependencias. Además, muchas herramientas importantes de Python, como virtualenv y pipenv, se basan en Pip.
Comparación de Pip con otras herramientas de administración de paquetes de Python
Si bien Pip es el administrador de paquetes de Python más utilizado, no es la única opción. Por ejemplo, conda también es un administrador de paquetes de Python muy popular, especialmente en el campo de la ciencia de datos y el aprendizaje automático. Conda puede administrar versiones de paquetes y entornos mejor que Pip, pero su uso no es tan común como el de Pip.
El siguiente comando muestra cómo conda instala la biblioteca numpy:
conda install numpy
Independientemente del administrador de paquetes que elija, es importante comprender sus fortalezas y limitaciones, y cómo elegir y utilizar la herramienta adecuada para sus necesidades.
3. Instalación y configuración de tuberías
Aunque la mayoría de las distribuciones modernas de Python vienen con Pip preinstalado, en algunos casos, es posible que deba instalarlo manualmente. Esta sección lo guiará sobre cómo instalar y configurar Pip en diferentes sistemas operativos.
Formas de instalar Pip en diferentes sistemas operativos
-
Instalar Pip en Windows
Si está utilizando Python 3.4 o posterior, Pip ya debería estar preinstalado en su entorno de Python. Puedes verificar que Pip esté instalado con el siguiente comando:
python -m pip --version
Si Pip no está instalado, puede instalar Pip con el siguiente comando:
python get-pip.py
-
Instalar Pip en Linux
En la mayoría de las distribuciones de Linux, puede usar un administrador de paquetes para instalar Pip. Por ejemplo, en Ubuntu, puede usar el siguiente comando para instalar Pip:
sudo apt-get install python3-pip
En CentOS, puede instalar Pip con el siguiente comando:
sudo yum install python3-pip
-
Instalar Pip en macOS
En macOS, puedes usar Homebrew para instalar Pip:
brew install python3
Este comando instalará Python3 y Pip.
Verificación y actualización de la versión de Pip
Puede verificar la versión de Pip con el siguiente comando:
pip --version
Si necesita actualizar Pip, puede usar el siguiente comando:
# On Linux or macOS
pip install --upgrade pip
# On Windows
python -m pip install --upgrade pip
Configuración básica de Pip
El comportamiento de Pip se puede ajustar a través de opciones de línea de comandos, variables de entorno y archivos de configuración. La configuración más común es cambiar la fuente de instalación del paquete. Por ejemplo, puede usar el siguiente comando para especificar la fuente espejo de PyPI de la Universidad de Tsinghua:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
Además, también puede cambiar permanentemente la fuente predeterminada de Pip a través del archivo de configuración, el método específico se describirá en detalle en los siguientes capítulos.
El siguiente es el contenido de la sección "Múltiples fuentes espejo en China y cómo usar" y sus subunidades:
4. Múltiples fuentes de espejos en China y cómo usarlas
Debido a razones de red, los usuarios domésticos pueden encontrar una velocidad lenta o fallas en la conexión al descargar paquetes de la biblioteca PyPI oficial de Python. Afortunadamente, tenemos varias fuentes de espejos domésticos que se pueden usar, lo que puede aumentar significativamente la velocidad de descarga y la tasa de éxito. A continuación, enumeramos algunas fuentes de imágenes de uso común y mostramos cómo usarlas.
Fuentes de espejo doméstico de uso común
- Nube de Alibaba: https://mirrors.aliyun.com/pypi/simple/
- Universidad de Ciencia y Tecnología de China: https://pypi.mirrors.ustc.edu.cn/simple/
- Douban: https://pypi.douban.com/simple/
- Universidad de Tsinghua: https://pypi.tuna.tsinghua.edu.cn/simple/
- Universidad de Ciencia y Tecnología de Huazhong: http://pypi.hustunique.com/
Cómo usar fuentes espejo
El método de usar la fuente del espejo es muy simple. Al usar pip install
el comando, agregue -i
la opción seguida de la URL de la fuente espejo. Por ejemplo, el siguiente comando muestra cómo usar la fuente espejo de la Universidad de Tsinghua para instalar la biblioteca numpy:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
Establecer permanentemente la fuente del espejo
Si desea utilizar una fuente espejo de forma permanente, puede hacerlo modificando el archivo de configuración de Pip. La ubicación del archivo de configuración depende de su sistema operativo:
- En Unix y macOS, el archivo de configuración es:
$HOME/.pip/pip.conf
- En Windows el archivo de configuración es:
%HOME%\pip\pip.ini
En el archivo de configuración, puede agregar el siguiente contenido para configurar de forma permanente la fuente espejo de la Universidad de Tsinghua:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
Después de configurar la fuente del espejo, puede usar pip install
el comando como de costumbre, y Pip descargará automáticamente el paquete desde la fuente del espejo que configuró.
5. Usa Pip para la gestión de paquetes
Pip proporciona una serie de comandos que hacen que la administración de paquetes sea muy conveniente. Esta sección presentará cómo usar estos comandos en detalle.
Paquete de instalación
Puede usar pip install
el comando para instalar paquetes. Por ejemplo, el siguiente comando muestra cómo instalar la biblioteca numpy:
pip install numpy
También puede especificar la versión del paquete a instalar. Por ejemplo, el siguiente comando muestra cómo instalar la versión numpy 1.18.5:
pip install numpy==1.18.5
paquete de desinstalación
Puede usar pip uninstall
el comando para desinstalar paquetes. Por ejemplo, el siguiente comando muestra cómo desinstalar la biblioteca numpy:
pip uninstall numpy
Ver paquetes instalados
Puede usar pip list
el comando para ver los paquetes instalados y sus versiones. Por ejemplo, el siguiente comando muestra cómo ver todos los paquetes instalados:
pip list
También puede usar pip show
el comando para ver los detalles de un paquete específico. Por ejemplo, el siguiente comando muestra cómo ver los detalles de la biblioteca numpy:
pip show numpy
paquete de actualización
Puede usar pip install --upgrade
el comando para actualizar paquetes. Por ejemplo, el siguiente comando muestra cómo actualizar la biblioteca numpy:
pip install --upgrade numpy
Instalar paquetes específicos del entorno
Pip también admite la creación de entornos virtuales y luego la instalación y administración de paquetes en este entorno virtual. Esta característica es muy útil porque evita conflictos de versión de paquetes y dependencias. Por ejemplo, puede usar el siguiente comando para crear un entorno virtual llamado myenv e instalar la biblioteca numpy en este entorno:
python3 -m venv myenv
source myenv/bin/activate
pip install numpy
De esta forma, puede crear un entorno virtual separado para cada proyecto y luego instalar y administrar paquetes en este entorno, evitando así el problema de los conflictos de versión.
6. Pip y entornos virtuales
El entorno virtual puede ayudarnos a aislar el entorno de Python entre diferentes proyectos y evitar problemas causados por versiones inconsistentes de paquetes y dependencias. Esta sección presentará cómo usar Pip y venv
cómo crear y administrar entornos virtuales.
Crear un entorno virtual
Puede utilizar venv
módulos para crear entornos virtuales. Por ejemplo, el siguiente comando muestra cómo crear un entorno virtual llamado myenv:
python3 -m venv myenv
Este comando creará una carpeta llamada myenv en el directorio actual, que contiene un entorno de Python independiente.
Activar el entorno virtual
Después de crear un entorno virtual, debe activar el entorno para poder instalar y utilizar paquetes en este entorno. En Unix y macOS, puede activar un entorno virtual con el siguiente comando:
source myenv/bin/activate
En Windows, puede activar un entorno virtual con el siguiente comando:
myenv\Scripts\activate
Usando Pip en un entorno virtual
Una vez que se activa el entorno virtual, puede usar Pip como de costumbre para instalar y administrar paquetes. Estos paquetes solo estarán disponibles en el entorno virtual actual. Por ejemplo, el siguiente comando muestra cómo instalar la biblioteca numpy en un entorno virtual:
pip install numpy
Salir del entorno virtual
Cuando haya terminado de trabajar en el entorno virtual, puede deactivate
salir del entorno virtual con el comando:
deactivate
Este comando lo regresará al entorno de Python del sistema.
Eliminar el entorno virtual
Si ya no necesita un entorno virtual, simplemente puede eliminar la carpeta del entorno virtual para eliminar el entorno:
rm -rf myenv
7. Uso avanzado de Pip
Además de las operaciones convencionales, como la instalación, desinstalación y actualización de paquetes, Pip también proporciona algunos usos avanzados, como la instalación de versiones específicas de paquetes, la instalación de versiones preliminares de paquetes, la instalación de archivos de ruedas, etc. Esta sección presentará estos usos avanzados.
Instalar una versión específica de un paquete
Como mencionamos anteriormente, puede usar pip install <package>==<version>
el comando para instalar una versión específica de un paquete. También puede usar >=
los operadores , <=
, >
y <
para !=
especificar la versión del paquete a instalar. Por ejemplo, el siguiente comando muestra cómo instalar una versión de la biblioteca numpy superior a 1.18.5:
pip install numpy>=1.18.5
Instalar paquetes de versión preliminar
De manera predeterminada, Pip solo instalará paquetes lanzados oficialmente. Pero a veces, es posible que desee instalar una versión preliminar de un paquete, por ejemplo, para probar nuevas funciones. Puede usar --pre
las opciones para instalar paquetes de versión preliminar. Por ejemplo, el siguiente comando muestra cómo instalar una versión preliminar de la biblioteca numpy:
pip install --pre numpy
Instalar el archivo de la rueda
Un archivo de rueda es un formato de distribución de paquetes precompilado que permite una instalación de paquetes más rápida. Puede usar pip install
el comando para instalar el archivo de la rueda. Por ejemplo, el siguiente comando muestra cómo instalar un numpy-1.21.2-cp39-cp39-win_amd64.whl
archivo de rueda llamado:
pip install numpy-1.21.2-cp39-cp39-win_amd64.whl
Instale el paquete desde el repositorio de GitHub
Además de instalar paquetes desde los repositorios de PyPI, también puede instalar paquetes directamente desde los repositorios de GitHub. Solo necesita proporcionar la URL del repositorio. Por ejemplo, el siguiente comando muestra cómo instalar la biblioteca numpy desde el repositorio de GitHub:
pip install git+https://github.com/numpy/numpy.git
8. Resolución de problemas de pipas
Aunque Pip es una herramienta muy poderosa y flexible, es posible que encuentre algunos problemas al usarla. Esta sección presentará algunos problemas comunes y sus soluciones.
La instalación del paquete falló
De vez en cuando, puede encontrar problemas con fallas en la instalación del paquete. Esto podría deberse a una serie de razones, como problemas de red, problemas de dependencia, problemas de compatibilidad, etc. Por lo general, puede averiguar la causa del problema examinando el mensaje de error. Por ejemplo, si un mensaje de error dice que no se puede encontrar una dependencia, es posible que primero deba instalar esa dependencia.
pip install missing-package
conflicto de paquetes
A veces, puede encontrar conflictos de paquetes, generalmente porque diferentes paquetes dependen de diferentes versiones del mismo paquete. Puede usar pip check
el comando para verificar si hay conflictos de paquetes. Si hay un conflicto, es posible que deba actualizar o degradar algunos paquetes para resolver el conflicto.
pip check
La desinstalación del paquete falló
Ocasionalmente, puede encontrar problemas en los que los paquetes no se pueden desinstalar. Esto podría deberse a que el paquete está en uso o no tiene permiso para desinstalarlo. Puede intentar usar pip uninstall -y <package>
el comando para forzar la desinstalación del paquete.
pip uninstall -y problematic-package
La versión del paquete está desactualizada
A veces, puede tener problemas con versiones de paquetes obsoletas. Esto generalmente se debe a que su versión de Pip es demasiado antigua para instalar versiones más nuevas de paquetes. Puede usar pip install --upgrade pip
el comando para actualizar Pip.
pip install --upgrade pip
Si es útil, preste más atención a
la cuenta pública personal de WeChat: [Perspectiva completa de Python]
TeahLead_KrisChang, más de 10 años de experiencia en la industria de Internet e inteligencia artificial, más de 10 años de experiencia en tecnología y gestión de equipos comerciales, Tongji Software Licenciado en Ingeniería, Máster en Gestión de Ingeniería de Fudan, Arquitecto sénior de servicios en la nube certificado por Aliyun, Jefe de negocio de productos de IA con cientos de millones de ingresos.