fbpixel
Etiquetas:

En este tutorial, veremos las mejores prácticas para organizar un proyecto Python de modo que pueda ser compartido y desplegado.

Tanto si trabajas en software como en una biblioteca o una interfaz gráfica, como una aplicación web o una aplicación móvil, si quieres compartir tu trabajo, tienes que organizarlo y documentarlo adecuadamente.

Puede aplicar estas prácticas al proyecto Serial Monitor

Crear un entorno virtual

Cuando se quiere crear un proyecto que se va a compartir y mantener a largo plazo, es esencial integrarlo en un entorno virtual para aislar sus dependencias (bibliotecas utilizadas, versiones, etc.).

En Windows, asegúrese de que la versión de python que está utilizando se puede llamar con python.exe

  • python -m pip install python3-venv –> pour installer
  • python -m venv venv –> créer un environnement virtuel
  • source venv/bin/activate –> activer l’environnement
  • deactivate –> désactiver l’environnement

N.B.: En Windows, para abrir la consola donde quieras, puedes crear un archivo start_console.bat en el que copiar el comando

iniciar cmd.exe

Puede ejecutar el archivo haciendo doble clic para abrir el terminal

Una vez creado el entorno, puede añadir o eliminar paquetes

pip install <package_name>
pip install <package_name>==<version>
pip uninstall <package_name> 

Y lleve un registro de los paquetes y versiones utilizados en el archivo requirements.txt

pip freeze > requirements.txt

Arquitectura de archivos de un proyecto Python

Basándonos en las recomendaciones de Kenneth Reitz, ésta es la estructura de archivos que hay que adoptar.

  • Si su proyecto consta de un solo archivo
helloworld/
│
├── .gitignore
├── helloworld.py
├── LICENSE
├── README.md
├── requirements.txt
├── setup.py
└── tests.py
  • Para proyectos más complejos que contengan diferentes módulos
sample
│
├── docs
│   ├── conf.py
│   ├── index.rst
├── sample
│   ├── __init__.py
│   ├── core.py
│   ├── helpers.py
├── tests
│   ├── test_basic.py
│   ├── test_advanced.py
├── LICENSE
├── README.md
├── requirements.txt
├── setup.py

N.B.: Para visualizar el árbol de carpetas, puede utilizar el comando árbol

En la práctica, tienes bastante libertad para crear la arquitectura de carpetas. Lo importante es que sea funcional, modular y organizada.

A continuación se describen los archivos de arquitectura esenciales

  • sample.py o sample: contiene el código fuente con uno o varios módulos
  • README: descripción del proyecto, guía de instalación, código fuente y ejemplo. Posibles desarrollos
  • LICENCIA: contiene la licencia y los derechos de autor bajo los que publica el código.
  • requirements.txt: contiene todas las dependencias y versiones requeridas por el script
  • setup.py : gestiona la distribución y construcción del proyecto Python
  • docs: contiene la documentación del proyecto
  • tests: contiene los scripts de prueba del proyecto

Una vez que hayas configurado esta arquitectura, podrás utilizarla y adaptarla para todos tus proyectos Python.

Fuentes