Crear directorio

Buenos días gente, les quería consultar lo siguiente: como podría simular el startproject de Django? La idea sería ejecutar un comando por consola y que este me arme toda una estructura pre definida.

Ya tengo el código de crear los folders y algunos files, pero no sabría como lograr para que se pueda ejecutar por consola y no tener que hacer python file.py

Hasta ahora lo que tengo es una clase que cuando la instancio me crea la estructura de un proyecto. Tiene también métodos para agregar más folders o files, y para modificar un config.ini

(Desconozco si ya existe una librería que resuelva esto, no supe que palabras utilizar para buscar)

Saludos!

Si usas linux, para ejecutar un archivo python por consola, ponele en la
primera linea el siguiente comentario:

#!/usr/bin/env python

Y además ponele permiso de ejecución:

chmod +x archivo.py

Saludos,

Javier.

Hola pyth,

Fijate en GitHub - cookiecutter/cookiecutter: A cross-platform command-line utility that creates projects from cookiecutters (project templates), e.g. Python package projects, C projects. me parece que hace lo que estás buscando.

Saludos,
Diego

1 me gusta

Hola pyth,

Si armaste un setup.py podes usar el tema del entry_point/console_script. Para mas información: https://python-packaging.readthedocs.io/en/latest/command-line-scripts.html#the-console-scripts-entry-point

Gracias por las respuestas!

En las soluciones que proporcionaron @javiermarcon y @tzulberti , en el caso de que esté trabajando en Windows alcanza con cambiar la línea #!/usr/bin/env python?

Hola,

En caso de usar Windows, tendrias que hacer un archivo .bat que tenga el comando completo (python archivo.py)

Saludos,

Javier

Hm…

Con la solución del setup.py cuando se instala el paquete, te va a crear un ejecutable valido sin que tengas que poner **#!/usr/bin/env python en ningun lado.

Pero para usar esta opción, tenes que armar un paquete valido de Python. Algunos proyectos que usan esta opcion son: