Python tiene que ver con la distribución. Se puede definir como la colección de archivos que juntos permiten construir, empaquetar y distribuir un módulo. Una vez que existe una distribución en un sistema, se puede instalar fácilmente. Además, se puede compartir con la comunidad PyPI (Python package index) para que otras personas puedan usar su distribución.
Para que quede más claro, considere Anaconda, que es una distribución de código abierto del lenguaje de programación Python y R. Contiene python, varias bibliotecas (numpy, pandas, matplotlib tec), IDE (como Spyder, Jupyter Notebook) y administrador de paquetes conda, así como pip dentro, lo que permite al usuario usar los recursos para varias tareas de aprendizaje automático, sin descargar ellos explícitamente.
Hay dos tipos de distribución en python:
- Distribución fuente (
sdist
) : contienesetup.py
(que contiene información sobre el módulo/metadatos), los archivos fuente del módulo/secuencia de comandos (.py
archivos o.c/.cpp
para módulos binarios), archivos de datos, etc. El resultado es un archivo que luego se puede usar para volver a compilar todo. en cualquier plataforma como linux, windows y mac. - Distribución integrada (
bdist
) : crea una distribución que incluye.pyc
archivos (código de bytes de python),.so/.dll/.dylib
para módulos binarios,.exe
si se usa py2exe (extensión de python, que se puede usar para convertir scripts a formato exe en Windows, y se puede usar sin la instalación de python) en Windows, archivos de datos… pero nosetup.py
. El resultado es un archivo que es específico de una plataforma (por ejemplo, linux-x86_64) y de una versión de Python. Eso se puede instalar y luego usar directamente extrayéndolo a la raíz de su sistema de archivos (los ejecutables están en /usr/bin (o equivalente), los archivos de datos en /usr/share, los módulos en /usr/lib/pythonX.X/site -paquetes/…).
setup.pysetup.py
es un archivo de python, que generalmente le dice al sistema que el módulo/paquete que está a punto de instalar ha sido empaquetado y distribuido utilizando Distutils, que es el estándar para la distribución de módulos de python. Es el archivo más importante. Es el archivo donde se configuran varios aspectos de tu proyecto. La característica principal de setup.py es que contiene una setup()
función global. Los argumentos de palabras clave para esta función son cómo se definen los detalles específicos de su proyecto.
Crear un archivo setup.py básico.
# import setup function from # python distribution utilities from distutils.core import setup # Calling the setup function setup( name = 'nesters', version = '1.0.0', py_modules = ['addition'], author ='a geek', author_email = 'ageek@gmail.com', url = 'https;//ageek.com', description = 'a simple program to add two numbers', keywords='adds two numbers', )
Veamos qué hacen los diferentes argumentos de la función de configuración:
- name: Es el nombre del proyecto. El paquete aparecerá con este nombre en PyPI.
- versión: Es una string que puede especificar la versión actual del proyecto. Es totalmente su elección cómo desea configurar el esquema de la serie de versiones (también se puede usar ‘1.0’ o ‘0.1’ o incluso ‘0.0.1’). Esta versión se muestra en PyPI para cada lanzamiento si el proyecto está publicado. Cada vez que se cargue una nueva versión, también deberá cambiar este argumento.
- description: Una breve descripción sobre el paquete. El argumento de descripción larga se puede utilizar para descripciones largas.
- url: URL de la página de inicio del proyecto. Esto facilita que las personas sigan o contribuyan al proyecto.
- autor, autor_email: Detalles sobre el autor.
- licencia: especifique el tipo de licencia que se utiliza.
- clasificadores: es una lista de strings que pueden especificar más detalles sobre el proyecto, como su estado de desarrollo, tema, licencia y versiones de Python admitidas para el proyecto.
- install_requires: se puede usar para especificar qué bibliotecas de terceros necesita ejecutar su paquete. Estas dependencias serán instaladas por pip cuando alguien instale su paquete.
- palabras clave: Lista de palabras clave para describir el proyecto.
Vamos a crear un archivo added.py que contenga el código para la suma de dos números. Cree este archivo en el bloc de notas y guárdelo como added.py.
def addition(): n = 5 print("addition of two numbers") while(n>= 0): a, b = input("enter two numbers: ").split() try: value1 = int(a) value2 = int(b) break except e: print("re enter numbers" ) sum = value1 + value2 print("sum of two numbers is :", sum)
Hacer una distribución de fuente:
- Para hacer una distribución de código fuente, primero cree una carpeta y copie los scripts setup.py y added.py en esa carpeta (llamémosla nester). Luego abra la terminal y cambie el directorio actual al directorio de la carpeta, por ejemplo: si está en el escritorio: C:\Users\HP PC\Desktop\nester.
- Por último, escriba
setup.py sdist.
Esto hará una distribución de origen.
Después de ejecutar el siguiente comando, se formará una carpeta dist que contendrá un archivo nester1-1.1.0.tar y un ARCHIVO MANIFEST que contiene la lista de archivos python (.py) creados por el comando sdist. la misma carpeta de origen (nester).
Al crear una distribución de origen, se pueden especificar muchos formatos usando la --format
opción.
Por ejemplo:
python setup.py sdist --formats=gztar,zip
Los diferentes formatos son:
Formato | Descripción |
---|---|
Código Postal | archivo comprimido (.zip) |
gztar | archivo tar comprimido con gzip (.tar.gz) |
bztar | archivo tar comprimido con bzip2 (.tar.bz2) |
xztar | archivo tar editado con xz (.tar.xz) |
ztar | archivo tar comprimido (.tar.Z) |
alquitrán | archivo tar (.tar) |
Haciendo una distribución construida:
- Repita el paso 1 de Distribución de origen.
- Por último escriba
setup.py bdist
. Esto creará una distribución construida.
Después de la ejecución del siguiente comando, se crearán dos carpetas:
- dist: que contiene «nester1-1.1.0.win-amd64» en formato de archivo winRarZip y al extraer el archivo zip, se encontrará un archivo «addition.pyc» en la carpeta __pycache__, que es la versión compilada (código de bytes) de su archivo “addition.py”, específico del sistema.
- build, que contiene la carpeta de la biblioteca y el archivo «addition.py» en su interior.
Al crear una distribución construida, se pueden especificar muchos formatos usando la --format
opción.
Por ejemplo:
python setup.py bdist --format=zip
Los diferentes formatos son:
Formato | Descripción |
---|---|
Código Postal | archivo comprimido (.zip) |
gztar | archivo tar comprimido (.tar.Z) |
ztar | archivo tar comprimido con bzip2 (.tar.bz2) |
alquitrán | archivo tar (.tar) |
rpm | RPM |
pkgtool | paquete de herramientas de Solaris |
sdux | paquete de herramientas de Solaris |
ganar | archivo ZIP autoextraíble para Windows |
msi | Instalador de Microsoft |
Publicación traducida automáticamente
Artículo escrito por shrivastavaditi02 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA