2 puntos por GN⁺ 2024-07-10 | 2 comentarios | Compartir por WhatsApp

Rye: una experiencia de Python sin complicaciones

Rye es una solución para la gestión de proyectos y paquetes de Python. Rye ofrece una experiencia unificada para todos los usuarios de Python y permite gestionar sin fricciones la instalación de Python, proyectos basados en pyproject.toml, dependencias y entornos virtuales. Soporta proyectos complejos, monorepos e instalación de herramientas globales.

Instrucciones de instalación

Linux

  • Ejecuta el comando curl para instalar el binario adecuado para tu sistema operativo y arquitectura de CPU
    curl -sSf https://rye.astral.sh/get | bash
    
  • Descarga e instala el binario de la versión más reciente
    gunzip rye-x86_64-linux.gz
    chmod +x ./rye-x86_64-linux
    ./rye-x86_64-linux
    

macOS

  • Ejecuta el comando curl para instalar el binario adecuado para tu sistema operativo y arquitectura de CPU
    curl -sSf https://rye.astral.sh/get | bash
    
  • Descarga e instala el binario de la versión más reciente
    gunzip rye-aarch64-macos.gz
    chmod +x ./rye-aarch64-macos
    ./rye-aarch64-macos
    

Windows

  • Descarga y ejecuta el binario de la versión más reciente
  • Se recomienda habilitar "Developer Mode"
  • Windows Intel de 64 bits: rye-x86_64-windows.exe
  • Windows Intel de 32 bits: rye-x86-windows.exe

Precauciones

  • Rye todavía no usa binarios firmados. Debes permitir la ejecución del archivo.
  • Puede aparecer una alerta de troyano "Bearfoos". Es un falso positivo.
  • Se requieren Rust y Cargo. Se pueden instalar usando rustup.
    cargo install --git https://github.com/astral-sh/rye rye
    

Resumen de GN⁺

  • Rye ofrece a los desarrolladores de Python una solución unificada para la gestión de proyectos y paquetes.
  • Soporta proyectos complejos e instalación de herramientas globales, mejorando la experiencia de desarrollo.
  • Aunque hay algunas precauciones durante la instalación, en general es fácil de usar.
  • Herramientas con funciones similares incluyen Poetry y Pipenv.

2 comentarios

 
lum7671 2024-07-11

Ya llevo un tiempo, pero después de usar varias cosas,
estoy usando Introduction - PDM.

Parece que también tendré que probar Rye.

 
GN⁺ 2024-07-10
Comentarios en Hacker News
  • En uv se está realizando gran parte del desarrollo clave de empaquetado, y Rye también usa uv

    • Recientemente se agregó soporte de resolución "universal" a uv, lo que permite generar archivos requirements.txt que funcionan en todas las plataformas y sistemas operativos
    • Rye también lo soporta en su versión más reciente
    • Si alguien tiene preguntas sobre Rye y uv, puede responderlas
  • La desventaja de Rye es que recomienda con fuerza usar builds no estándar de Python

    • Según la página de filosofía de Rye, los builds de CPython son completamente inadecuados y causan varios problemas en distintas plataformas
    • Este proyecto usa los builds standalone de indygreg
    • También se puede elegir otro Python
    • Nunca ha experimentado problemas con los builds oficiales de Python y le preocupa usar builds no estándar
  • Hay muchos usuarios a los que les gusta Rye

    • Rye hace que el proceso de venv/versión de Python/empaquetado sea realmente agradable
    • Hace que Python se sienta más como Cargo
  • También hay usuarios sorprendidos por el cinismo en HN

    • Después de usar gestores de paquetes de otros lenguajes (cargo, hex), les decepcionaba que Python no tuviera un sistema similar
    • Rye resuelve completamente ese problema
  • Un nuevo gestor de dependencias para Python es como descubrir un nuevo framework de JavaScript

  • También hay usuarios a los que les gusta pixi

    • pixi fija la versión de Python y permite instalar paquetes tanto desde conda como desde PyPI
    • Está escrito en Rust
  • Los desarrolladores que no son de Python no entienden por qué la DX de los proyectos en Python es tan mala

    • En npm/node es muy fácil iniciar un proyecto y entender las dependencias
    • Se preguntan por qué Python tardó tanto en encontrar una alternativa madura a requirements.txt
  • Vale la pena notar que el equipo de uv adquirió el proyecto de Armin

  • Rye se ve excelente, y también disfruta mucho usar Poetry

    • Siente un gran respeto por las herramientas predeterminadas de alta calidad de Go
    • Cada vez que empieza un proyecto en Python, siente que tiene que volver a aprender sobre la gestión de dependencias/venv
  • Según la página de introducción de Rye, Rye sigue siendo una herramienta muy experimental

    • Tiene muchas expectativas puestas en este proyecto, pero planea esperar hasta que llegue a una etapa más madura
    • Como le gustan todos los demás proyectos del equipo de Astral, tiene grandes expectativas