Cómo crear paquetes de Python

¿Se ha enfrentado al problema de escribir las mismas líneas de código para cada proyecto? Ahí es donde los empaques de python vienen al rescate. Un paquete de Python no es más que una carpeta que contiene algunos módulos en su interior. Los paquetes de Python nos han facilitado la vida, ya que solo tenemos que importar la funcionalidad que necesitamos del paquete requerido. Imagínese si alguien no hubiera construido esos paquetes, lo tediosa que hubiera sido la vida de los programadores.

Este blog tiene como objetivo cubrir los conceptos básicos y lo que necesita para publicar un paquete de python con éxito.

Estructura del Proyecto

estructura del proyecto

Para inicializar una carpeta como un paquete de Python, necesitamos crear un archivo llamado __init__.py dentro de la carpeta.__init__.py se ejecutará cada vez que intentemos importar el paquete en nuestro proyecto.

Configuración.py

setup.py es crucial, ya que contiene los metadatos de nuestro paquete y vincula todo lo que tiene nuestro módulo. Nos permite hacer python setup.py install y pip install.

# Always prefer setuptools over distutils
from setuptools import setup, find_packages
# To use a consistent encoding
from codecs import open
from os import path

here = path.abspath(path.dirname(__file__))

# Get the long description from the README file
with open(path.join(here, 'README.md'), encoding='utf-8') as f:
    long_description = f.read()
version = open('VERSION').read().strip()
requirements = open('requirements.txt').read().split('n')

setup(
    name='package_name',
    version='#version',
    description='what does the package do',
    long_description=long_description,
    author = 'author name',
    author_email = 'author email',
    packages=package,
    install_requires=requirements,
    python_requires=">=3.6"
)

name – Este es el nombre de nuestro paquete
version – El número de versión para ser visible en el sitio web de PyPi
description – La descripción del paquete que se mostrará en el sitio web de PyPi
long description – descripción detallada del paquete y uso
author – nombre del autor que se mostrará en el sitio web de PyPi
author_email -correo electrónico del autor que se mostrará en el sitio web de PyPi
packages – Los paquetes que se construirán y cargarán en el sitio web de PyPi.
install_requires – Dependencia del paquete
python_requires – Requisito mínimo de versión de python

Hay varios tipos de compilaciones de paquetes de python:

  • Ruedas – Construcciones binarias para cada plataforma o universal. Muy recomendable.
  • Huevos – Obsoleto. no usar
  • Tars de origen: cuando la rueda para la plataforma de destino no está disponible, setup.py desde el código fuente se vuelve a ejecutar durante la instalación

Subir a PyPi

PyPi es donde podemos almacenar todos los paquetes compilados/tars de origen. Primero debemos cargar el paquete en el sitio web de PyPi antes de que podamos instalar pip.

Para iniciar la carga, primero regístrese en el sitio web de PyPi e instale el twine paquete python para cargar cualquier paquete.

python3 -m pip install --upgrade twine

A continuación, construimos nuestro paquete para distribución:

python3 -m build

Después del comando de compilación, veremos la carpeta dist en el directorio raíz del directorio raíz de nuestro proyecto. Estos archivos de distribución son creados por Python, que se puede instalar en cualquier sistema.

El paso final es cargar los archivos de distribución en el sitio web.

python3 -m twine upload --repository testpypi dist/

Esto solicitará el nombre de usuario y la contraseña, después de lo cual el paquete se cargará en el sitio web.

Pruebas

  • Pruebas de regresión: escriba estas pruebas cada vez que corrija un error, para que nunca las encontremos. otra vez.
  • Pruebas unitarias: Escriba estas pruebas para cada nueva característica construida.

Instrucciones súper simples para escribir pruebas para el paquete python:

mkdir tests
cd tests
ln -s ../your_package_name .
touch test.py   # write your tests here
py.test

Ahora ha creado con éxito su propio paquete de python personalizado y lo ha subido al sitio web de PyPi. Ahora puede simplemente hacer pip install nombre del paquete y usarlo en cualquier proyecto requerido.

Fuente del artículo

Deja un comentario