Empaquetado Python

PythonBeginner
Practicar Ahora

Introducción

Este laboratorio introduce el script setup.py, un componente fundamental para empaquetar proyectos de Python utilizando la biblioteca tradicional Distutils. Aprenderá su propósito, estructura y cómo utilizarlo para hacer que sus módulos de Python sean instalables. Al finalizar este laboratorio, habrá creado un archivo setup.py básico y lo habrá utilizado para instalar un paquete simple de Python.

Introducción

En este paso, comprenderá el papel del script setup.py como centro de toda la actividad en la construcción, distribución e instalación de módulos con Distutils.

El script de configuración (setup script) es el núcleo para construir, distribuir e instalar módulos utilizando Distutils. Su propósito principal es describir su distribución de módulos a Distutils, para que los diversos comandos que operan sobre sus módulos realicen la acción correcta.

El archivo setup.py está en el corazón de un proyecto de Python. Describe todos los metadatos sobre su proyecto. Si bien hay muchos campos que puede agregar para proporcionar metadatos detallados, solo se requieren tres:

  • name: El nombre de su paquete. Este debe ser único si desea publicar su paquete en el Python Package Index (PyPI).
  • version: La versión actual de su paquete. Esto ayuda a los usuarios a distinguir entre diferentes lanzamientos.
  • packages: Una lista de todos los paquetes de Python que se incluirán en su distribución.

Una vez que tiene un archivo setup.py, puede instalar fácilmente el paquete de Python en su entorno. La forma recomendada es usar pip para instalar el paquete desde el directorio actual. Ejecute el siguiente comando en su terminal desde el mismo directorio que el archivo setup.py:

pip install .

Este comando gestionará el proceso de construcción e instalación del módulo para que pueda ser importado y utilizado en otros scripts de Python. En el siguiente paso, crearemos un archivo setup.py y ejecutaremos este comando.

Ejemplo

En este paso, revisaremos un ejemplo básico de un script setup.py y crearemos uno para nuestro proyecto. Este ejemplo incluirá los campos requeridos, así como información opcional como la licencia y una descripción larga leída de un archivo README.txt.

Primero, navegue hasta el directorio del proyecto que se ha preparado para usted. Utilice el explorador de archivos en el lado izquierdo del IDE para ver el directorio pythonCheatsheet. Dentro, encontrará un subdirectorio pipenv y un archivo README.txt.

Ahora, cree un nuevo archivo llamado setup.py dentro del directorio ~/project/pythonCheatsheet. Haga clic en la carpeta pythonCheatsheet en el explorador de archivos, luego haga clic en el ícono "New File" (Nuevo Archivo) y asígnele el nombre setup.py.

Copie y pegue el siguiente código en su archivo setup.py recién creado:

## setup.py: define package metadata for distribution
from distutils.core import setup

setup(
   name='pythonCheatsheet',  ## Package name (must be unique on PyPI)
   version='0.1',  ## Version number
   packages=['pipenv',],  ## List of packages to include
   license='MIT',  ## License type
   long_description=open('README.txt').read(),  ## Read description from file
)

Analicemos este script:

  • from distutils.core import setup: Esta línea importa la función setup, que es el punto de entrada principal para el script.
  • name='pythonCheatsheet': Define el nombre de nuestro paquete.
  • version='0.1': Establece la versión inicial.
  • packages=['pipenv',]: Indica a Distutils que el paquete a incluir se encuentra en el directorio pipenv.
  • license='MIT': Especifica la licencia bajo la cual se distribuye el paquete.
  • long_description=open('README.txt').read(): Lee el contenido de README.txt para proporcionar una descripción detallada del paquete.

Ahora que el archivo setup.py está listo, abra una terminal haciendo clic en el ícono + en el panel de terminal en la parte inferior del IDE. Asegúrese de que su directorio actual sea ~/project/pythonCheatsheet. Puede navegar hasta él ejecutando cd ~/project/pythonCheatsheet.

Ejecute el comando de instalación:

pip install .

Verá una salida en la terminal mientras pip construye e instala el paquete. La salida se verá algo como esto, terminando con una confirmación de que el paquete está instalado:

Processing /home/labex/project/pythonCheatsheet
Building wheels for collected packages: pythonCheatsheet
  Building wheel for pythonCheatsheet (setup.py) ... done
  Created wheel for pythonCheatsheet: pythonCheatsheet-0.1-py3-none-any.whl
  Stored in directory: /tmp/pip-wheel-xxxxx
Successfully built pythonCheatsheet
Installing collected packages: pythonCheatsheet
Successfully installed pythonCheatsheet-0.1

Para confirmar la instalación, puede usar pip para listar los paquetes instalados y filtrar por su nuevo paquete:

pip list | grep pythonCheatsheet

Debería ver su paquete listado con su versión:

pythonCheatsheet  0.1

¡Felicidades! Ha creado con éxito un archivo setup.py e instalado un paquete de Python.

Resumen

En este laboratorio, aprendió sobre el papel fundamental del script setup.py en la distribución de proyectos de Python utilizando Distutils. Cubrió los campos de metadatos esenciales requeridos para un paquete: name, version y packages. Finalmente, creó un archivo setup.py práctico, incluyó metadatos adicionales como license y long_description, e instaló con éxito su paquete en el entorno local utilizando el comando pip install .. Ahora tiene el conocimiento básico para hacer que sus propios proyectos de Python sean distribuibles.