💾 Archived View for tilde.team › ~amok › python.gmi captured on 2024-08-19 at 00:42:59. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Estoy empezando a encarar proyectos más complejos que simples scripts en Python. Para eso es necesario manejar entornos virtuales, dependencias, etc., todo lo cual me resulta extremadamente embolante. De modo que voy a intentar utilizar Rye para que se encargue de todo esto por mÃ. Existen alternativas más conocidas, como Poetry, pero me crucé primero con un tutorial acerca de Rye en Atareao.es asà que vamos con esto.
Lo primero es instalar el paquete:
curl -sSf https://rye.astral.sh/get | bash
A continuación añadimos el directorio shims a nuestro PATH. Podemos aceptar la sugerencia del instalador, que serÃa lo más sencillo, o hacerlo manualmente:
echo 'source "$HOME/.rye/env"' >> ~/.bashrc
Inicializamos un proyecto con `rye init` (`init` acepta un montón de opciones):
rye init mi_proyecto
Esto crea la siguiente estructura:
. ├── .git ├── .gitignore ├── .python-version ├── README.md ├── pyproject.toml └── src └── my_project └── __init__.py
El archivo más importante es `pyproject.toml` donde se guarda la metadata de nuestro proyecto, como los paquetes a ser instalados y demás. Luego de hacer `rye init`, tenemos que ejecutar una sincronización, con `rye sync` y ya estamos listos.
Podemos hacer varias cosas interesantes, como:
- Agregar dependencias: rye add "flask=>2.0"
- Listar dependencias: rye list
- Quitar dependencias: rye remove flask
- Imprimir información acerca del proyecto: rye show
- Ejecutar el proyecto: rye run mi_proyecto
rye show project: python-app path: /home/emiliano/python_app venv: /home/emiliano/python_app/.venv target python: 3.8 venv python: cpython@3.12.4 virtual: false configured sources: default (index: https://pypi.org/simple/)
De todas formas, el comando que más me interesaba `rye shell` parece que fue dado de baja, asà que voy a tener que buscar alguna alternativa a esto.
Esto es todo.