1. Puesta a punto del entorno
Esta lección es un onboarding para dejar el ordenador listo antes de empezar. Está pensada para Windows. No cuenta como lección de clase: la sigues en casa y llegas al aula con todo funcionando.
No tengas prisa. La mitad de los problemas que arrastra la gente durante un curso entero vienen de un entorno mal montado el primer día.
Instalar las herramientas
Vamos a instalar dos cosas: uv y Python.
uv es la herramienta que lo une todo. Instala Python por ti y gestiona las dependencias del proyecto sin que tengas que pelearte con versiones. Si vienes de instalar Python a mano desde la web, olvida ese camino: con uv es más rápido y da menos problemas.
Una vez instalado uv, Python se instala con una sola orden, sin descargar nada de la web de Python:
uv python install
Cuando termines, comprueba que responde:
uv --version
Si te devuelve un número de versión, vas bien.
Arrancar un proyecto
Con las herramientas puestas, crear un proyecto es cuestión de segundos:
uv init metocean-tools
cd metocean-tools
uv init crea la estructura básica y el pyproject.toml (la lista de dependencias del proyecto).
Después creamos y activamos el entorno virtual:
uv venv
.venv\Scripts\activate
Un entorno virtual es una carpeta que aísla las dependencias de este proyecto de las del resto del sistema. Así, si un proyecto necesita una versión de una librería y otro necesita otra, no se pelean.
Y añadimos dependencias cuando las necesitemos. Por ejemplo, una librería para validar datos de entrada:
uv add msgspec
uv add descarga la librería y anota la versión exacta en pyproject.toml. Ese detalle es oro: significa que un compañero puede copiar tu proyecto y reproducirlo sin esos errores raros de "en mi máquina funciona".
Configurar VSCode para Python
Recomendamos VSCode como editor. Es uno de los más usados, así que si te atascas es más fácil encontrar a alguien que te eche una mano. Ahora que ya tienes el proyecto creado, ábrelo en el editor (Archivo > Abrir carpeta y elige metocean-tools) y vamos a afinarlo, porque de fábrica viene bastante pelado para Python.
Varios de los pasos que siguen usan la paleta de comandos, que es el mando a distancia del editor: la abres con Ctrl+Shift+P (o con F1), escribes el nombre de una acción y la ejecutas. Si prefieres, escribe > en la barra de búsqueda de arriba y llegas al mismo sitio.
- Instala la extensión oficial Python (de Microsoft) y Pylance, que te da autocompletado e inteligencia de código.
- Instala la extensión Ruff, que te avisa de problemas y formatea el código. Lee la configuración del
pyproject.tomldel proyecto, así que todo el equipo formatea igual. - Selecciona el intérprete correcto: abre la paleta de comandos, busca
Python: Select Interpretery elige el del entorno virtual.venvque acabas de crear (aparece como.venvoPython 3.x ('.venv')). La extensión suele detectarlo sola en cuanto abres la carpeta del proyecto, pero conviene saber hacerlo a mano. - Activa formatear al guardar: la forma rápida es abrir los ajustes con
Ctrl+,, buscarFormat On Savey marcar la casilla. Pero para que Ruff sea el formateador de Python y todo el equipo lo tenga igual, lo mejor es dejarlo escrito en el.vscode/settings.jsondel proyecto, que te muestro justo al final de esta sección. - Configura el panel de pruebas (Test Explorer): busca
Python: Configure Testsy eligepytest. Todavía no tienes tests nipytestinstalado (llegan en la lección de testing), así que de momento es solo dejarlo preparado: en cuanto los tengas, podrás ejecutar y depurar los tests desde la barra lateral con un clic. - Familiarízate con el depurador: pon un punto de interrupción (un clic en el margen izquierdo, junto al número de línea) y ejecuta paso a paso. Es muchísimo más útil que llenar el código de
print, y lo veremos en detalle más adelante, en la lección de testing.
Toda esta configuración se comparte con el equipo a través del archivo .vscode/settings.json del proyecto. Créalo con este contenido y todos arrancaréis igual:
{
"editor.formatOnSave": true,
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.codeActionsOnSave": {
"source.organizeImports.ruff": "explicit"
}
}
}
Con eso, cada vez que guardes un archivo Python, Ruff lo formatea y ordena los imports por ti, sin que tengas que acordarte. charliermarsh.ruff es el identificador de la extensión de Ruff: le dice a VSCode qué formateador usar.
Y con esto el entorno queda listo. En la siguiente lección recuperamos este mismo proyecto y lo usamos como punto de partida, sin volver a instalar nada.
Este trabajo está bajo una licencia Attribution-NonCommercial-NoDerivatives 4.0 International.
Desafíos de programación atemporales y multiparadigmáticos
Te encuentras ante un librillo de actividades, divididas en 2 niveles de dificultad. Te enfrentarás a los casos más comunes que te puedes encontrar en pruebas técnicas o aprender conceptos elementales de programación.
Comprar el libroAyúdame a seguir escribiendo
Cada café me da un empujón para escribir el siguiente artículo.
¡Claro, te invito!
Comentarios
Todavía no hay ningún comentario.