Una guía completa para la gestión de dependencias de Python

08:20 13/09/2021 | 1 Lượt xem

La gestión de la dependencia de Python es esencial para el bienestar de sus proyectos. Si su aplicación Python depende de bibliotecas y marcos de terceros para funcionar, administrarlos correctamente puede ayudarlo a obtener las recompensas de la seguridad, la sostenibilidad y la coherencia.

Si gestiona bien sus dependencias directas y transitivas, puede producir una aplicación de rendimiento y calidad. Es lo que necesita para llevar sus esfuerzos de desarrollo de Python al siguiente nivel.

Este artículo habla sobre la gestión de las dependencias de Python. Demostremos cómo puede utilizar la popular herramienta pip para gestionando dependencias en Python. También veremos algunas alternativas si el pip no satisface las necesidades de su caso de uso.

primeros pasos con pip

pepita (porpaquete meinstalador para PORython) es la herramienta estándar utilizada para administrar paquetes en Python. Viene preinstalado con Python versión 2.7.9 (o posterior) y Python versión 3.4 (o posterior). Si está utilizando una versión anterior de Python, siga las instrucciones para instalar pip aqui.

Si ha utilizado herramientas de administración de paquetes en otros idiomas, como Node.js npm, pip es similar en espíritu a ellos.

Puede ejecutar el siguiente comando desde su consola para confirmar que pip está disponible en su máquina:

Aquí hay un ejemplo:

PS C: Users User> pip –version
pepita 20.2.3 desde c: usuarios usuario appdata local programas python python39 lib site-packages pip (python 3.9)

Como puede ver arriba, el comando muestra la versión de pip junto con la ubicación y la versión de Python instalada en su máquina.

Instalación de paquetes con pip

Python generalmente se considera un batería incluida idioma; es decir, tiene una rica colección de paquetes y módulos que puede utilizar para realizar una amplia variedad de tareas de forma rápida y sencilla.

Del mismo modo, Python tiene una comunidad sólida de contribuyentes que crean un conjunto de paquetes aún mayor. Estas bibliotecas, herramientas y marcos se publican principalmente en PyPI (Índice de paquetes de Python). También hay otras fuentes públicas y privadas para alojar paquetes de Python.

Puede usar pip para descargar e instalar dependencias fácilmente. De forma predeterminada, la herramienta descarga paquetes de PyPI.

A continuación se explica cómo instalar un paquete:

instalación de pip

El comando anterior busca la última versión del paquete especificado y la instala. También busca las dependencias disponibles en los metadatos del paquete y las instala. Esto asegura que el paquete tenga todos los requisitos para un funcionamiento óptimo.

Si desea instalar una versión de paquete específica por cualquier motivo, use el operador de igualdad (==) y mencione el número de versión para instalar:

instalación de pip ==

Por ejemplo, veamos cómo puede instalar módulo de descarga para descargar fácilmente archivos de la web:

Si desea instalar una versión específica, ejecute el siguiente comando:

descarga de instalación de pip ==0.3.2

Una vez instalado, puede importarlo y usarlo en su proyecto:

Aquí hay un ejemplo:

desde descargar importar descargar
ruta = descargar (add_url, add_file_path)

Desinstalar paquetes con pip

Antes de eliminar un paquete, es importante verificar su lista de dependencias. Si elimina un paquete que están usando otras personas, puede poner de rodillas su aplicación.

Puede comenzar a usar el Lista comando para listar todos los paquetes disponibles en su sistema:

Aquí hay un ejemplo:

PS C: Usuarios Usuario> lista de pips
versión del paquete
———— ———
certificado 200.12.5
chardet 4.0.0
hacer clic 7.1.2
descargar 0.3.5
Botella 1.1.2
MarkupSafe 1.1.1
pepita 20.2.3

Entonces usa el exposición comando para obtener más información sobre un paquete instalado, especialmente su lista de dependencias.

Aquí hay un ejemplo:

PS C: Users User> descarga de pip show
Nombre: descargar
Versión: 0.3.5
Resumen: un módulo rápido para ayudar a descargar archivos usando Python.
Inicio: https://github.com/choldgraf/download
Autor: Ninguno
Correo electrónico del autor: Ninguno
Licencia: BSD (3-cláusula)
Ubicación: c: users user appdata local programmes python python39 lib site-packages
Requiere: tqdm, solicitudes, seis
Preguntado por:

Como puede ver arriba, los dos últimos campos, requiere y Preguntado por, proporciona la lista de dependencias de paquetes. En este caso, el descargar El paquete requiere otras tres dependencias, pero ningún otro paquete lo requiere. Por lo tanto, es seguro eliminarlo.

Una vez que comprenda el orden de dependencia de sus paquetes y determine cuáles son seguros para eliminar, puede usar Desinstalar comando para desinstalarlos.

desinstalar pip

Aquí hay un ejemplo:

PS C: Users User> descarga de desinstalación de pip
Instalación existente encontrada: descargar 0.3.5
Descarga de desinstalación-0,35:
Eliminar:
c: usuarios usuario appdata local programas python python39 lib site-packages download-0,35.dist-info *
c: usuarios usuario appdata local programas python python39 lib site-packages download *
¿Continuar (s / n)? y
Descarga desinstalada con éxito-0,35

Tenga en cuenta que pip le pedirá que confirme si desea desinstalar el paquete. Si desea suprimir la confirmación y la lista de archivos, simplemente agregue el -y bandera.

desinstalar pip -y

Aquí hay un ejemplo:

PS C: Users User> descarga de desinstalación de pip -y
Instalación existente encontrada: descargar 0.3.2
Descarga de desinstalación-0.3.2:
Descarga desinstalada con éxito-0.3.2

Si desea desinstalar varios paquetes, puede especificar sus nombres en una sola llamada:

desinstalar pip

Actualizar un paquete

Si desea actualizar a una versión más reciente del paquete, use el siguiente comando:

instalación de pip -potenciar

El comando anterior desinstalará la versión anterior del paquete e instalará la última versión disponible.

Aquí hay un ejemplo:

PS C: Users User> descarga de instalación de pip – actualización
Recopilación de descargas
Usar descarga en caché-0,35-py3-ninguno-ninguno.whl (8.8 kB)

Instalación de paquetes recopilados: descargar
Intentando desinstalar: descargar
Instalación existente encontrada: descargar 0.3.2
Descarga de desinstalación-0.3.2:
Descarga desinstalada con éxito-0.3.2
Descarga instalada correctamente-0,35

Usando un archivo de requisitos

Un archivo de requisitos le permite definir los paquetes y sus versiones específicas necesarias para ejecutar un proyecto. Por convención, el archivo se denomina requirements.txt, pero puede proporcionar el nombre que desee.

A continuación se muestra un ejemplo de requirements.txt Expediente:

certificado> =200.11.0
chardet ==4.0.0
haga clic en> =6.5.0,7.1
descargar ==0.3.5
Botella> =1.1.0

Como puede ver arriba, debe definir cada paquete en su propia línea en el archivo de texto. También debe utilizar operadores lógicos para estipular la versión específica del paquete.

Con un archivo de requisitos, puede replicar el entorno en otro sistema sin romperlo. El archivo garantiza que las versiones de paquete especificadas se instalen exactamente como se define en el archivo de requisitos.

Por ejemplo, el operador == le dice a pip que solo se puede instalar la versión específica, mientras que> = estipula que se puede instalar una versión exacta o superior. En caso de hacer clic paquete anterior, pip puede instalar cualquier versión igual o superior a 6.5.0 pero inferior a 7.1.

Si desea instalar los paquetes especificados en el archivo de requisitos, ejecute el instalación de pip comando al usar el -r bandera para indicar el archivo de requisitos.

Aquí está el comando:

pip install -r requirements.txt

El archivo de requisitos también le permite actualizar varios paquetes a la vez. Puedes usar el Instalar en pc comando con el -mejora marca para actualizar todos los paquetes enumerados en él.

Aquí está el comando:

pip install –upgrade -r requirements.txt

También puede eliminar todos los paquetes proporcionados en un archivo de requisitos. Aquí está el comando:

pip uninstall -r requirements.txt -y

Alternativas a pip

Si bien pip es una gran herramienta para administrar las dependencias de Python, existen otras herramientas que puede usar para administrar paquetes de manera efectiva.

Aquí hay dos herramientas que puede considerar si el pip no se ajusta a su caso de uso:

  • Pipenv– esta es una herramienta de nivel superior que viene con varias características para hacer que la administración de dependencias para casos de uso común sea más fácil y rápida. Si bien pip es generalmente adecuado para proyectos personales, Pipenv se recomienda más para proyectos colaborativos. Una característica diferenciadora notable es que Pipenv usa pipfile y pipfile.para bloquear, al revés de requisitos.TXT, para garantizar construcciones deterministas cómodas.
  • Poesía– esta opción de administración de dependencias le permite declarar las bibliotecas de las que depende su proyecto para que pueda instalarlas, desinstalarlas y actualizarlas por usted. Al igual que Pipenv, hace que la gestión de dependencias de paquetes de Python sea más sencilla y directa. Puede usarlo para administrar sus proyectos de manera determinista, construir y empaquetar sus proyectos usando un comando y publicar fácilmente en PyPI. Utilizar el pyproject.toml file para orquestar su proyecto, así como sus dependencias.

¿Cómo detecta vulnerabilidades en proyectos?

La gestión de las dependencias al crear aplicaciones de Python puede garantizar que tenga compilaciones estables y predecibles en diferentes entornos.

Pero, ¿cómo saber si hay vulnerabilidades de seguridad en sus dependencias de Python?

WhiteSource ofrece una potente herramientas de desarrollador gratuitas para ayudarlo a encontrar y corregir automáticamente las vulnerabilidades en sus dependencias de código abierto. Puede utilizar las herramientas para obtener alertas de vulnerabilidad en tiempo real, realizar actualizaciones automáticas de dependencia y completar muchas otras tareas.

Las herramientas de seguridad de WhiteSource se integran a la perfección con su entorno de desarrollo de Python. De esa manera, puede concentrarse en crear sus aplicaciones mientras WhiteSource hace el trabajo pesado en su nombre.

Con las herramientas de seguridad, puede estar seguro de enviar aplicaciones Python seguras, de alto rendimiento y estables. Le permiten consumir software de código abierto sin miedo y libremente.

Contáctenos hoy para obtener más información sobre las herramientas.

Related Posts

Agregar fondos a archivos PDF

Este artículo explicará cómo agregar un fondo a un PDF con Foxit PDF Editor. Para agregar un nuevo fondo, haga lo siguiente: 1. Abra un documento al que desee agregar un fondo y elija...

lên đầu trang