Skip to content

Instantly share code, notes, and snippets.

@ArnyminerZ
Created October 3, 2021 18:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ArnyminerZ/edf1fb044e4eeadbc4857a730ab4b719 to your computer and use it in GitHub Desktop.
Save ArnyminerZ/edf1fb044e4eeadbc4857a730ab4b719 to your computer and use it in GitHub Desktop.
Instrucciones para crear un proyecto de Python

Para asegurarnos que las dependencias siempre esten en la última versión podemos usar el Dependabot, que se encargará de crear pull requests actualizando a las últimas versiones.

version: 2
updates:
  - package-ecosystem: pip
    directory: "/"
    schedule:
      interval: daily
    labels:
      - "dependencies"
  - package-ecosystem: github-actions
    directory: "/"
    schedule:
      interval: daily
    labels:
      - "dependencies"

Ahora debemos crear un archivo de configuración para el proyecto. Este se debe llamar setup.py, y debemos rellenar los datos siguientes con los nuestros propios:

from setuptools import setup, find_packages

setup(
  name="Proyecto ###",  # Nombre del proyecto
  version="0.1",  # Versión de desarrollo
  description="Esta es la descripción del proyecto",  # Descripción del funcionamiento
  author="Autor",  # Nombre del autor
  author_email='author@example.com',  # Email del autor
  license="GPL",  # Licencia: MIT, GPL, GPL 2.0...
  url="https://example.com",  # Página oficial (si la hay)
  packages=find_packages(),
  # Dependencias. Podemos añadir tantas como necesitemos, e indicarlas con el formato "wheels" si nos da igual la versión que instale.
  #   Si queremos que todos los contribuidores tengan la misma versión podemos usar "wheels==0.12" para una versión exacta,
  #   o "wheels>=0.12" para una versión igual o mayor.
  install_requires=[],
)

En la sección de install_requires lo lógico es no ponerlo en código plano, sino importar la lista de dependencias de un archivo de requerimientos llamado requirements.txt. Y cambiaremos esta línea por:

install_requires=[i.strip() for i in open("requirements.txt").readlines()]

Dentro de este archivo colocaremos la lista de dependencias con el mismo formato anterior, colocando una dependencia en cada línea, por ejemplo:

pillow==1.1.0
django>=1.10.0,<=1.10.3
pygame

Ahora tenemos el proyecto configurado, pero debemos reestructurar un poco la estructura de archivos. Debemos colocar todos los scripts en una carpeta independiente, por ejemplo llamada main. Y dentro, el archivo principal debe llarmarse __init__.py.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment