Los fundamentos del compartir código de Python

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En algún momento es posible que desees entregar tu código a alguien más, quizás solo a un compañero de trabajo. Esta sección presenta la técnica más básica para hacerlo. Para obtener información más detallada, necesitarás consultar la Guía del Usuario de Empaquetado de Python.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/ObjectOrientedProgrammingGroup(["Object-Oriented Programming"]) python(("Python")) -.-> python/AdvancedTopicsGroup(["Advanced Topics"]) python/BasicConceptsGroup -.-> python/comments("Comments") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/standard_libraries("Common Standard Libraries") python/ObjectOrientedProgrammingGroup -.-> python/constructor("Constructor") python/AdvancedTopicsGroup -.-> python/decorators("Decorators") subgraph Lab Skills python/comments -.-> lab-132740{{"Los fundamentos del compartir código de Python"}} python/tuples -.-> lab-132740{{"Los fundamentos del compartir código de Python"}} python/importing_modules -.-> lab-132740{{"Los fundamentos del compartir código de Python"}} python/standard_libraries -.-> lab-132740{{"Los fundamentos del compartir código de Python"}} python/constructor -.-> lab-132740{{"Los fundamentos del compartir código de Python"}} python/decorators -.-> lab-132740{{"Los fundamentos del compartir código de Python"}} end

Creando un archivo setup.py

Agrega un archivo setup.py en el directorio /home/labex/project al nivel superior de tu directorio de proyecto.

## setup.py
import setuptools

setuptools.setup(
    name="porty",
    version="0.0.1",
    author="Your Name",
    author_email="[email protected]",
    description="Practical Python Code",
    packages=setuptools.find_packages(),
)

Creando MANIFEST.in

Si hay archivos adicionales asociados con tu proyecto, especifícalos con un archivo MANIFEST.in. Por ejemplo:

## MANIFEST.in
include *.csv

Coloca el archivo MANIFEST.in en el mismo directorio que setup.py.

Creando una distribución de código fuente

Para crear una distribución de tu código, utiliza el archivo setup.py. Por ejemplo:

$ python setup.py sdist

Esto creará un archivo .tar.gz o .zip en el directorio dist/. Ese archivo es algo que ahora puedes entregar a otras personas.

Instalando tu código

Otros pueden instalar tu código de Python utilizando pip de la misma manera que lo hacen con otros paquetes. Simplemente necesitan suministrar el archivo creado en el paso anterior. Por ejemplo:

$ python -m pip install porty-0.0.1.tar.gz

Comentario

Los pasos anteriores describen los aspectos básicos absolutamente mínimos de la creación de un paquete de código de Python que puedes entregar a otra persona. En realidad, puede ser mucho más complicado dependiendo de las dependencias de terceros, si tu aplicación incluye código externo (por ejemplo, C/C++), etc. Cubrir eso está fuera del alcance de este curso. Solo hemos dado un primer paso diminuto.

Ejercicio 9.5: Crea un paquete

Toma el código porty-app/ que creaste para el Ejercicio 9.3 y ve si puedes recrear los pasos descritos aquí. Específicamente, agrega un archivo setup.py y un archivo MANIFEST.in al directorio principal. Crea un archivo de distribución de código fuente ejecutando python setup.py sdist.

Como paso final, ve si puedes instalar tu paquete en un entorno virtual de Python.

✨ Revisar Solución y Practicar

Resumen

¡Felicidades! Has completado el laboratorio de Distribución. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.

OSZAR »