Pipenv: la herramienta de empaquetado de Python recomendada oficialmente

El otro día publicamos una guía para principiantes de administrar paquetes de Python usando PIP . En esa guía, discutimos cómo instalar pip y cómo instalar, actualizar y desinstalar paquetes de Python usando pip. También discutimos la importancia de los entornos virtuales y cómo crear un entorno virtual utilizando las herramientas venv y virtualvnv. Hoy vamos a aprender acerca de otro administrador de paquetes de python llamado pipenv . Es la nueva herramienta Python Packaging recomendada por Python.org. Se puede usar para instalar y administrar fácilmente las dependencias de Python sin tener que crear entornos virtuales. Pipenv crea y administra automáticamente un virtualenv para sus proyectos. También agrega/elimina paquetes de su Pipfile a medida que instala/desinstala paquetes.

¿Por qué Pipenv?

Pipenv aborda los siguientes problemas en tiempo real:

  • Ya no tiene que crear un entorno virtual. Pipenv creará automáticamente virtualenv para sus proyectos. En pocas palabras, pip y virtualenv funcionan juntos.
  • administrar un requisitos.txt expediente puede ser problemático por lo que Pipenv usa Pipfile y Pipfile.lock, que son superiores para casos de uso básicos.
  • es seguro Los hashes se usan en todas partes, siempre. Exponga automáticamente las vulnerabilidades de seguridad.
  • Ver el gráfico de dependencia en cualquier momento.
  • Optimice el flujo de trabajo de desarrollo cargando archivos .env.

Bueno, comencemos.

Hay muchas formas de instalar Pipenv. Veremos dos métodos recomendados oficialmente.

1. Instalar pipenv usando pip

La forma oficial recomendada es utilizar pepita . Asegúrese de haber instalado python y pip. De lo contrario, consulte nuestra guía anterior vinculada en el primer párrafo de este artículo.

Una vez instalado pip, ejecute el siguiente comando para instalar pipenv.

                      $ pip install --user pipenv
                    

Este comando instalará pipenv a nivel de usuario (es decir, no en todo el sistema). Si pipenv no está disponible en su shell después de instalarlo, es posible que deba agregar su directorio binario de la base de usuarios a tu RUTA. Si no sabe cuál es su base de usuarios, ejecute el siguiente comando para averiguarlo:

                      $ python -m site --user-base
                    

Verá una salida similar a la siguiente.

                      /home/sk/.local
                      
                    

Como puede ver en el resultado anterior, mi directorio base de usuarios es /home/sk/.local y el directorio binario de mi base es /home/sk/.local/bin . ¿Claro? Bueno. Ahora agregue esto a su RUTA. Para ello, edite su ~/.perfil expediente:

                      $ vi ~/.profile
                    

Agregue esta línea al final:

                      export PATH="$HOME/.local/bin:$PATH"
                    

prensa ESC clave y tipo :wq para guardar y salir del archivo. Luego, ejecute el siguiente comando para hacer efectivos los cambios.

                      $ source ~/.profile
                    

Finalmente, ejecute el siguiente comando:

                      $ pipenv --update
                    

Para actualizar pipenv en cualquier momento, ejecute el siguiente comando:

                      $ pip install --user --upgrade pipenv

                    

2. Instalando pipenv usando pipsi

Pipsi es una poderosa herramienta que le permite instalar scripts de Python en entornos virtuales aislados.

Para instalar pipsi, ejecuta:

                      $ curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python

                    

Siga las instrucciones en pantalla, tendrá que actualizar su RUTA.

Una vez instalado pipsi, ejecute los siguientes comandos para instalar pipenv:

                      $ pipsi install pew
$ pipsi install pipenv

                    

Finalmente, ejecute el siguiente comando:

                      $ pipenv --update
                    

Para actualizar pipenv en cualquier momento, simplemente ejecute:

                      $ pipsi upgrade pipenv

                    

Administrar paquetes de Python usando Pipenv

Ejecute ‘pipenv’ en su shell para mostrar la lista de comandos disponibles y opciones generales.

                      $ pipenv
                    

La salida de muestra sería:

Instalando paquetes

Cree un nuevo proyecto o vaya al directorio del proyecto existente.

                      $ mkdir myproject
$ cd myproject
                    

Instale los paquetes para su proyecto:

                      $ pipenv install requests
                    

Cuando usted ls en el directorio de su proyecto (es decir, myproject en este caso), verá dos archivos, a saber archivo pip y Pipfile.lock . El Pipfile contiene información del paquete recién instalado, como el nombre, la versión, etc. Puede usar este archivo pip para rastrear qué dependencias necesita su proyecto cuando desea volver a instalar o compartir el proyecto con otros.

                      $ cat Pipfile
                    

Y el Pipfile.lock contiene la información de su sistema, todas las dependencias del paquete instalado, incluida su versión, y todos los valores hash de todos los paquetes instalados y sus dependencias.

                      $ cat Pipfile.lock
                    

Ahora instale otro paquete y vuelva a comprobar el contenido de los dos archivos. Notará que el Pidfile ahora contiene dos paquetes. Y, Pidfile.lock contiene todas las dependencias de los paquetes instalados, incluida su versión, y todos los valores hash de todos los paquetes instalados y sus dependencias. En pocas palabras, estos dos archivos se actualizarán automáticamente cada vez que instale un nuevo paquete.

¿Te diste cuenta? No he creado ningún entorno virtual. Pipenv creó automáticamente un entorno virtual para mi proyecto. ¿Se pregunta dónde se almacenan sus proyectos? Simplemente ejecute este comando para conocer la ubicación de su entorno virtual.

                      $ pipenv --venv
/home/sk/.local/share/virtualenvs/myproject-x7-2XYPN
                    

Para ver los detalles de la casa de su proyecto, ejecute:

                      $ pipenv --where
/home/sk/myproject
                    

Como se puede en las dos salidas, “/home/sk/miproyecto” es el directorio de inicio de mi proyecto y “/home/sk/.local/share/virtualenvs/myproject-x7-2XYPN” es mi entorno virtual.

Puede “ls” en su virtualenv para verificar qué hay allí.

                      $ ls /home/sk/.local/share/virtualenvs/myproject-x7-2XYPN
                    

Actualizar paquetes

Para actualizar todos los paquetes, ejecute:

                      $ pipenv update
                    

Este comando desinstalará todos los paquetes y reinstalará los paquetes a las últimas versiones compatibles.

Comprobación de la integridad de un paquete.

¿Le preocupa si hay vulnerabilidades de seguridad en los paquetes instalados? ¡No hay problema! Pipenv te cubre las espaldas. Para verificar la integridad de los paquetes, simplemente ejecute el siguiente comando:

                      $ pipenv check
Checking PEP 508 requirements…
Passed!
Checking installed package safety…
All good!
                    

El comando anterior comprueba las vulnerabilidades de seguridad y los marcadores PEP 508 proporcionados en el Pipfile.

Ver gráfico de dependencia

Ejecutemos ‘pipenv graph’ y veamos qué sucede.

                      $ pipenv graph
                    

Como puede ver, este comando muestra el gráfico de dependencia.

Desinstalar un paquete

Para eliminar un paquete, ejecute:

                      
                        $ pipenv uninstall requests
                      
                      
Un-installing speedtest-cli…
Uninstalling speedtest-cli-1.0.7:
 Successfully uninstalled speedtest-cli-1.0.7

Removing speedtest-cli from Pipfile…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (c23e27)!
                    

Para desinstalar todo, ejecute:

                      
                        $ pipenv uninstall --all
                      
                      
Un-installing all packages from virtualenv…
Found 1 installed package(s), purging…

Environment now purged and fresh!
                    

Para más detalles, ejecute:

                      $ pipenv -h
                    

O,

                      $ pipenv --man
                    

Por lo que probé, Pipenv es mucho más fácil de usar que pip. Dado que Python.org lo recomienda oficialmente, ahora puede deshacerse de venv y virtualenv por completo al instalar paquetes de Python.

Lectura sugerida:

  • Pipx: instale y ejecute aplicaciones de Python en entornos aislados

Recursos:

¡Gracias por pasar!

Ayúdanos a ayudarte:

¡¡Que tenga un buen día!!

Related Posts