GN⁺: Rye: 번거로움 없는 Python 경험
(rye.astral.sh)Rye: 번거로움 없는 파이썬 경험
Rye는 파이썬 프로젝트와 패키지 관리 솔루션임. Rye는 모든 파이썬 사용자를 위한 통합 경험을 제공하며, 파이썬 설치, pyproject.toml
기반 프로젝트, 종속성 및 가상 환경을 원활하게 관리할 수 있음. 복잡한 프로젝트, 모노레포, 글로벌 도구 설치를 지원함.
설치 지침
Linux
- 운영 체제와 CPU 아키텍처에 맞는 바이너리를 설치하는 curl 명령어 실행
curl -sSf https://rye.astral.sh/get | bash
- 최신 릴리스 바이너리를 다운로드하여 설치
gunzip rye-x86_64-linux.gz chmod +x ./rye-x86_64-linux ./rye-x86_64-linux
macOS
- 운영 체제와 CPU 아키텍처에 맞는 바이너리를 설치하는 curl 명령어 실행
curl -sSf https://rye.astral.sh/get | bash
- 최신 릴리스 바이너리를 다운로드하여 설치
gunzip rye-aarch64-macos.gz chmod +x ./rye-aarch64-macos ./rye-aarch64-macos
Windows
- 최신 릴리스 바이너리를 다운로드하여 실행
- "Developer Mode" 활성화 권장
- 64비트 Intel Windows:
rye-x86_64-windows.exe
- 32비트 Intel Windows:
rye-x86-windows.exe
주의사항
- Rye는 아직 서명된 바이너리를 사용하지 않음. 실행 파일을 허용해야 함.
- "Bearfoos" 트로이 목마 경고가 나타날 수 있음. 이는 오탐임.
- Rust와 Cargo가 필요함. rustup을 사용하여 설치 가능.
cargo install --git https://github.com/astral-sh/rye rye
GN⁺의 정리
- Rye는 파이썬 개발자에게 통합된 프로젝트 및 패키지 관리 솔루션을 제공함.
- 복잡한 프로젝트와 글로벌 도구 설치를 지원하여 개발자 경험을 향상시킴.
- 설치 과정에서 몇 가지 주의사항이 필요하지만, 전반적으로 사용이 간편함.
- 비슷한 기능을 가진 도구로는 Poetry와 Pipenv가 있음.
Hacker News 의견
-
uv에서 많은 핵심 패키징 개발이 진행 중이며, Rye도 uv를 사용함
- 최근 uv에 "universal" 해상도 지원을 추가하여 모든 플랫폼과 운영 체제에서 작동하는 requirements.txt 파일을 생성할 수 있게 되었음
- Rye도 최신 릴리스에서 이를 지원함
- Rye와 uv에 대해 질문이 있으면 답변 가능함
-
Rye의 단점은 비표준 Python 빌드를 사용하도록 강력히 권장하는 것임
- Rye 철학 페이지에 따르면, CPython 빌드는 완전히 부적절하며, 다양한 플랫폼에서 다양한 문제를 일으킴
- 이 프로젝트는 indygreg standalone 빌드를 사용함
- 다른 Python을 선택할 수도 있음
- 공식 Python 빌드에서 문제를 경험한 적이 없으며, 비표준 빌드 사용에 대한 우려가 있음
-
Rye를 좋아하는 사용자는 많음
- Rye는 venv/Python 버전/패키징 과정을 실제로 쾌적하게 만들어줌
- Python을 Cargo처럼 느끼게 해줌
-
HN의 냉소주의에 놀라는 사용자도 있음
- 다른 언어의 패키지 관리자(cargo, hex)를 사용한 후, Python에 유사한 시스템이 없어서 아쉬웠음
- Rye가 이 문제를 완전히 해결해줌
-
새로운 Python 의존성 관리자는 새로운 JavaScript 프레임워크를 발견한 것과 같음
-
pixi를 좋아하는 사용자도 있음
- pixi는 Python 버전을 고정하고, conda와 PyPI에서 패키지를 설치할 수 있게 해줌
- Rust로 작성됨
-
비 Python 개발자는 Python 프로젝트의 DX가 왜 그렇게 나쁜지 이해하지 못함
- npm/node는 프로젝트 부트스트랩과 의존성 이해가 매우 쉬움
- Python이 "requirements.txt"에 대한 성숙한 대안을 찾는 데 왜 이렇게 오래 걸렸는지 의문임
-
uv 팀이 Armin 프로젝트를 인수했음을 주목할 필요가 있음
-
Rye는 훌륭해 보이며, Poetry도 즐겨 사용함
- Go의 고품질 기본 도구에 대한 존경심이 큼
- Python 프로젝트를 시작할 때마다 의존성/venv 관리에 대해 다시 배워야 하는 느낌이 듦
-
Rye 소개 페이지에 따르면, Rye는 아직 매우 실험적인 도구임
- 이 프로젝트에 대해 매우 기대하고 있지만, 더 성숙한 단계에 도달할 때까지 기다릴 계획임
- Astral 팀의 다른 모든 프로젝트를 좋아하기 때문에 큰 기대를 가지고 있음