DEV Community

Raül Martínez i Peris
Raül Martínez i Peris

Posted on

Python (I)

Introducción

Antes de empezar, merece la pena reseñar que vamos a seguir una metodología constructiva, creando en algunos momentos pequeños errores que nos obliguen a repensar y corregir; esto solo se hará en pocas ocasiones.

En cuanto al nivel, se da por supuesto que ya se tienen conocimientos de programación (no son artículos de aprender a programar en Python), entonces... ¿qué se hará en estos artículos?

La respuesta es sencilla: estructurar un proyecto.

Crearemos un proyecto Python que cumplirá lo siguiente:

  • Desarrollo en equipos de trabajo multiplataforma (Linux y Windows).
  • Uso de CI/CD (Gitlab y GitHub).
  • Contenedores (Linux y Windows).
  • Creación de un ejecutable Windows (con pipeline).

Lo primero, prepárese su entorno de trabajo con lo siguiente:

  • Git
  • Una cuenta en Gitlab (puede ser gratuita).
  • Una cuenta en GitHub (puede ser gratuita).
  • Docker y Compose (o sea, el plugin compose para docker), que es la CLI más reciente. Puedes utilizar 'docker-compose' si ya lo tienes instalado. En cuanto a la versión de Docker a instalar, personalmente prefiero instalar docker-engine a docker-desktop.
  • Python (evidentemente).
  • Tu shell favorita; bien sea en Linux una shell 'Bash' (son comandos de shell que deberían funcionar con cualquiera); o en Windows una consola 'PowerShell'. Si no se indica nada significa que puede lanzarse el comando indiferentemente en Linux o Windows, en caso contrario se verá el comentario de 'Linux'/'Windows' según proceda.
  • El proyecto se ha realizado sobre un Ubuntu y un Windows 11.

¿Porqué no utilizamos herramientas como 'PDM', 'Poetry', 'Hatch', ...? La finalidad de estos artículos es que entiendas los pasos, no que los automatices... eso seguro que lo sabes hacer solito.

El proyecto

Repositorio de muestra: https://gitlab.com/elferrer/la_fragua.git

Inicializar el entorno del proyecto

Lo primero que haremos es prepararnos nuestra carpeta:

mkdir la_fragua
Enter fullscreen mode Exit fullscreen mode

Ahora creamos el proyecto Git:

git init
Enter fullscreen mode Exit fullscreen mode

Con el navegador, accedemos a la cuenta de Gitlab y creamos un nuevo proyecto:

  • Create project > Blank
  • Le damos el nombre del proyecto, descripción, etc. En nuestro caso le llamaremos 'la_fragua'.

Como has visto, hemos inicializado en blanco el repositorio en Gitlab y en local, por lo que están desconectados. Vamos a solucionarlo:

git remote add origin git@gitlab.com:YourUser/la_fragua.git
Enter fullscreen mode Exit fullscreen mode

Nota: YourUser debe ser tu usuario de Gitlab.

Ahora creamos la rama de trabajo:

git checkout -b release/000-initialize
Enter fullscreen mode Exit fullscreen mode

Seguro que esperabas ver 'main' (o 'master') como rama principal, pero como se ha dicho al principio, haremos algunas cosas incorrectas que nos obliguen a corregir y aprender.

Preparar el entorno Python

Vamos a preparar el entorno (aquí deberás seguir la parte de Linux o la parte de Windows como ya hemos explicado anteriormente):

# Linux
sudo apt install python3-venv
python3 -m venv .venv
Enter fullscreen mode Exit fullscreen mode
# Windows
py -m venv .venv
Enter fullscreen mode Exit fullscreen mode

Ahora activamos el entorno:

# Linux
source ./.venv/bin/activate
Enter fullscreen mode Exit fullscreen mode
# Windows
.venv\Scripts\Activate.ps1
Enter fullscreen mode Exit fullscreen mode

Actualizamos pip:

pip install --upgrade pip
Enter fullscreen mode Exit fullscreen mode

Apuntes

Python es una herramienta que está siendo utilizada activamente en los sistemas operativos, ello implica que cualquier cambio de versión o cambio en las bibliotecas puede provocar fallos en tu entorno. Por esa razón se utilizan entornos virtuales, de tal forma que todas las actuaciones que hagas con tu proyecto solo afectarán a tu proyecto.

Top comments (0)