python:instalable
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| python:instalable [2025/07/15 12:50] – [Local] alberto | python:instalable [2025/07/16 12:05] (actual) – [main.py] alberto | ||
|---|---|---|---|
| Línea 36: | Línea 36: | ||
| ==== main.py ==== | ==== main.py ==== | ||
| Es el punto de entrada al paquete cuando lo ejecutas desde consola. \\ | Es el punto de entrada al paquete cuando lo ejecutas desde consola. \\ | ||
| - | Es donde se define la interfaz de línea de comandos (CLI): qué comandos, opciones y argumentos puede introducir el usuario, incluidos los //--help//. \\ | + | Es donde se define la interfaz de línea de comandos (CLI, //Command Line Interface//): qué comandos, opciones y argumentos puede introducir el usuario, incluidos los // |
| Utiliza la biblioteca **argparse** para leer argumentos desde línea de comandos. \\ | Utiliza la biblioteca **argparse** para leer argumentos desde línea de comandos. \\ | ||
| En main.py se puede: | En main.py se puede: | ||
| Línea 46: | Línea 46: | ||
| \\ | \\ | ||
| En definitiva, realiza el flujo del programa.\\ | En definitiva, realiza el flujo del programa.\\ | ||
| + | |||
| + | Cuando añadimos parámetros con add_argument, | ||
| + | ^ Parámetro | ||
| + | | `name or flags` | ||
| + | | `action` | ||
| + | | `nargs` | ||
| + | | `const` | ||
| + | | `default` | ||
| + | | `type` | ||
| + | | `choices` | ||
| + | | `required` | ||
| + | | `help` | ||
| + | | `metavar` | ||
| + | | `dest` | ||
| + | |||
| + | Para el parámetro " | ||
| + | ^ Acción | ||
| + | | `' | ||
| + | | `' | ||
| + | | `' | ||
| + | | `' | ||
| + | | `' | ||
| + | | `' | ||
| + | | `' | ||
| + | | `' | ||
| + | | `' | ||
| + | |||
| A continuación un ejemplo, en el que se define el comando " | A continuación un ejemplo, en el que se define el comando " | ||
| Línea 220: | Línea 247: | ||
| </ | </ | ||
| + | El bloque entry_points[" | ||
| + | <code toml> | ||
| + | " | ||
| + | " | ||
| + | ] | ||
| + | </ | ||
| + | |||
| + | mi_comando → nombre que escribirás en la terminal. \\ | ||
| + | paquete.modulo → ruta al módulo dentro del paquete. \\ | ||
| + | funcion_que_se_ejecuta → debe ser una función sin argumentos (o que gestione sys.argv) que actuarán como el “main()” del comando. \\ | ||
| + | \\ | ||
| + | |||
| + | Si se desea cambiar el comando para ejecutar un programa, es suficiente con indicarlo en " | ||
| ==== readme.md ==== | ==== readme.md ==== | ||
| Es un archivo de texto (usualmente en formato Markdown, de ahí la extensión .md) que explica de qué trata el proyecto. \\ | Es un archivo de texto (usualmente en formato Markdown, de ahí la extensión .md) que explica de qué trata el proyecto. \\ | ||
| Línea 283: | Línea 323: | ||
| Además, la carpeta desde donde haces la instalación en modo editable (pip install -e .) es, literalmente, | Además, la carpeta desde donde haces la instalación en modo editable (pip install -e .) es, literalmente, | ||
| Por eso cualquier cambio en esa carpeta afecta directamente al paquete instalado y ejecutable, sin necesidad de reinstalar. | Por eso cualquier cambio en esa carpeta afecta directamente al paquete instalado y ejecutable, sin necesidad de reinstalar. | ||
| + | |||
| + | ==== Local en otro equipo ==== | ||
| + | Lógicamente si se lleva el paquete a otro equipo, podría instalarse de la forma anterior.\\ | ||
| + | Sin embargo, también podría instalar se esta manera: | ||
| + | <code bash> | ||
| + | pip install . # Sustituye ' | ||
| + | </ | ||
| + | |||
| + | Al prescindir del parámetro ' | ||
| + | En este caso, la ejecución del programa ya no depende de la carpeta de instalación original y es posible mover, borrar o renombrar la carpeta del proyecto, y el comando seguirá funcionando igual, porque ya tiene su copia interna. | ||
| + | |||
| + | ==== Desde GitHub ==== | ||
| + | Puedes instalar tu paquete desde cualquier máquina con: | ||
| + | <code bash> | ||
| + | pip install git+https:// | ||
| + | </ | ||
| + | |||
| + | O para una versión específica: | ||
| + | <code bash> | ||
| + | # Esto instalará la versión exactamente como estaba en el tag v1.0.0. | ||
| + | pip install git+https:// | ||
| + | </ | ||
| + | |||
| + | Desde GitHub, el programa se instala en modo no editable. \\ | ||
| + | |||
| + | Cada vez que se realice una mejora, corrección o cambio relevante, se hace un //commit// con un mensaje descriptivo. \\ | ||
| + | Al completar un conjunto de cambios estables (por ejemplo, una versión funcional completa), se hace un release/tag con un número de versión: | ||
| + | <code bash> | ||
| + | git tag v1.0.0 | ||
| + | git push origin v1.0.0 | ||
| + | # Ahora en GitHub aparece ese tag como versión 1.0.0. Puedes descargar ese estado exacto o instalar desde ahí. | ||
| + | </ | ||
| + | |||
| + | Y para actualizar a la nueva versión (por ejemplo la v1.1.0): | ||
| + | <code bash> | ||
| + | pip install --upgrade git+https:// | ||
| + | </ | ||
python/instalable.1752576615.txt.gz · Última modificación: por alberto
