Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Python
Code

Revisando Python Packaging con Pipenv

by
Difficulty:IntermediateLength:MediumLanguages:

Spanish (Español) translation by Juan Pablo Diaz Cuartas (you can also view the original English article)

Resumen

Python es uno de los lenguajes más amigables y poderosos que existen. Es fácil de aprender para los principiantes, pero tiene un gran impacto y se usa ampliamente en diversos dominios, como programación científica, programación de aplicaciones web y DevOps. Pero uno de los puntos más débiles de Python ha sido su soporte para empaquetar aplicaciones complejas y sus dependencias.

Con los años, se han realizado muchos esfuerzos para mejorar la situación. En agosto de 2017, escribí un tutorial sobre el estado del arte en el empaquetado de Python: Cómo escribir, empaquetar y distribuir una biblioteca en Python.

Han pasado solo cuatro meses, y hay un nuevo jugador en la ciudad. Pipenv es ahora la herramienta oficial recomendada para el empaquetado por PyPA (Python Packaging Authority). En este tutorial aprenderá por qué Pipenv mejora significativamente el estado del empaque y el flujo de trabajo de desarrollo general para los desarrolladores de Python y cómo usarlo de manera efectiva.

Flujo de trabajo de Python Dev para humanos

El objetivo de Pipenv es mejorar el flujo de trabajo de desarrollo de los desarrolladores de Python cuando se trata de administrar dependencias y entornos virtuales. Es otra excelente biblioteca del industrioso Kenneth Reitz, conocido principalmente por el paquete de solicitudes (HTTP para humanos), pero escribió algunos otros excelentes paquetes.

¿Necesitamos otra herramienta de embalaje?

¡Sí! Pipenv toma una página de las prácticas modernas de administración de paquetes y las importa al mundo de Python.

Instalando Pipenv

Puede instalar Pipenv con pip install pipenv. Obtendrás un buen resultado con emojis:

$ curl https://github.com/pypa/pipenv/blob/master/get-pipenv.py | pitón> requests = "*". Utiliza TOML como su formato, que es una opción popular en estos días para archivos de configuración (Rust's Cargo, Python's PEP-518). . pipenv graphe> run y shell. . pipenv shell para comenzar un nuevo shell con tu entorno virtual Python. Aquí se explica cómo usar el comando de shell para iniciar una sesión interactiva de Python que usa el paquete de solicitudes instaladas para obtener una cotización del día de una API REST. El entorno virtual se activa y el lanzamiento de Python usa el intérprete correcto donde las solicitudes están disponibles.e. pipenv install -r <path/to/requirements.txt>.>. instalar pipenv. Una vez que haya verificado que todo funciona como se esperaba, puede eliminar su archivo requirements.txt.e. Puedes decirle a Pipenv que instale una ruta como editable. Esto es útil cuando depende de los paquetes que está desarrollando y desea depender de su paquete fuente sin instalarlos realmente cada vez que realiza un cambio. En particular, es útil para el directorio actual cuando está trabajando activamente en él. Para hacer eso, use las banderas -e y --dev:gs: Necesita tener un archivo setup.py adecuado.le.
Ya has visto mucho de lo que Pipenv puede hacer por ti. Vamos a profundizar en algunos comandos y opciones adicionales.ns. El comando de instalación pipenv admite varias opciones:ns:
    < --dev: instala paquetes de desarrollo y predeterminados desde Pipfile.lock.ck. < --system: utiliza el comando pip del sistema en lugar del de tu virtualenv.nv. < --ignore-pipfile: Ignora el Pipfile e instálalo desde Pipfile.lock.ck. < --skip-lock: Ignora el Pipfile.lock e instálalo desde el Pipfile. Además, no escriba un archivo Pipfile.lock que refleje los cambios en el Pipfile. e.
Dependiendo de su flujo de trabajo y preferencias, puede usar una o más de estas opciones en diferentes momentos.es. Para desinstalar una dependencia, escriba: pipenv uninstall<package name> . Por ejemplo:le: Tenga en cuenta que no tuve que especificar "requests == 2.8.14" al desinstalar, a pesar de que estaba anclado en el Pipfile.le. Si desea generar una instantánea de sus dependencias actuales (por ejemplo, antes de una versión), use el comando de bloqueo. Esta es la clave para construcciones deterministas y repetibles: pipenv lock --pre.e>. Pipenv es increíble, pero puede limpiar algunos de sus entornos virtuales de vez en cuando. Es tan simple como pipenv --rm.e>. Pipfile.lock aprovecha algunas mejoras de seguridad nuevas y geniales en pip. De forma predeterminada, el Pipfile.lock se generará con los hash sha256 de cada paquete descargado. Esto permitirá que pip garantice que está instalando lo que pretende cuando está en una red comprometida o descargando dependencias de un punto final PyPI que no es de confianza.nt. Además, Pipenv proporciona el comando de verificación, que verifica el cumplimiento con PEP 508: especificación de dependencia para los paquetes de software de Python, así como la seguridad del paquete:ty: Pipenv finalmente lleva el empaque de Python a la vanguardia del desarrollo de software moderno. Se inspira en otros sistemas de gestión de dependencias exitosos como Rust's Cargo y Javascript's Yarn. n. Se casa con entornos virtuales y gestión de paquetes y ofrece una experiencia superior con mensajes informativos hermosos y coloridos, y las mejores prácticas implícitas. Recomiendo encarecidamente que empiece a usar Pipenv para administrar sus proyectos de Python.ts. Además, no dude en ver lo que tenemos disponible para la venta y para estudiar en el Mercado de Envato, y no dude en hacer cualquier pregunta y brindar sus valiosos comentarios utilizando el siguiente feed.ow.
Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.