▲neo 8달전 | parent | favorite | on: GN⁺: Pyenv - 간단한 파이썬 버전 관리 도구 (github.com/pyenv)Hacker News 의견 pyenv 사용에 대한 경고 pyenv는 Python을 사용자의 기계에서 컴파일하는 큰 단점이 있음. 이 상황에서 발생할 수 있는 실패 모드가 매우 많음. pyenv는 초보자가 Python 패키징 문제를 해결하기 위한 도구가 아니라, 설정을 표준화하기 위한 전문가용 도구임. 사용자들이 pyenv로 인한 문제를 겪고 있지만, 그것을 인지하지 못하는 경우가 많음. Python 프로그래머의 고통 Python 프로그래머들이 겪는 불필요한 어려움에 대한 놀라움. 여러 버전의 Python을 설치해야 하는 것은 비이성적임. Python 프로그램이 어디서나 작동하는 개념이 실용적이지 않음. 모든 것이 취약하여 정확한 언어 버전 없이는 작동하지 않음. 의존성 문제가 심각하여 패키지 관리자의 관리자가 필요한 상황임. Python 프로그램을 안정적으로 유지하는 도구 Python 프로그램이 처음 작성했을 때와 동일하게 작동하도록 보장하는 도구들의 목록. requirements.txt, pip, pipenv, pyenv, virtualenv 등 다양한 도구들이 있음. Mise 도구 소개 Rust로 작성된 Mise는 asdf와 같지만 더 빠르고 기본적으로 shims가 없음. 런타임을 병렬로 설치하고 필요한 플러그인을 다운로드함. asdf나 pyenv보다 나은 도구로 사용될 수 있음. ASDF의 장점 ASDF는 Python뿐만 아니라 Rust, Go, Node 등 여러 언어와 다양한 도구들을 지원함. pyenv 사용 경험 공유 pyenv 사용 초기에는 문제가 없었지만, 여러 버전의 Python을 설치한 후 문제가 발생함. pyenv 대신 python.org에서 Python을 다운로드하고 python<version> -m venv /my/virtual/env를 사용하여 가상 환경을 관리하는 것이 더 안정적임. 개인적인 Python 관리 스택 pyenv로 Python 버전을 관리하고, 각 프로젝트마다 venv를 사용하여 새로운 가상 환경을 생성함. 프로젝트 초기화와 의존성 관리는 Poetry를 사용함. Dropbox를 사용하는 경우 .venv 폴더를 무시 목록에 추가함. Pyenv는 Ubuntu에 필요한 모든 의존성을 수집한 후 잘 작동함. Mise를 사용한 런타임 의존성 관리 Python, Node, Ruby, Terraform 등 대부분의 런타임 의존성을 동일한 방식으로 처리하는 mise 사용. Python 가상 환경도 활성화할 수 있음. macOS 워크플로우 공유 python.org에서 필요한 Python 바이너리를 다운로드하고, virtualenv를 사용하여 가상 환경을 설정함. pyproject.toml과 pip-compile을 사용하여 프로젝트 관리. Python 프로젝트 관리 공간에서 많은 변화가 있었지만, 이 워크플로우로 모든 것을 간과할 수 있었음. ▲edunga1 8달전 [-] 이 상황에서 발생할 수 있는 실패 모드가 매우 많음. 여기가 너무 고통스러운 지점 같아요. 답변달기
Hacker News 의견
pyenv 사용에 대한 경고
Python 프로그래머의 고통
Python 프로그램을 안정적으로 유지하는 도구
Mise 도구 소개
ASDF의 장점
pyenv 사용 경험 공유
python<version> -m venv /my/virtual/env
를 사용하여 가상 환경을 관리하는 것이 더 안정적임.개인적인 Python 관리 스택
Mise를 사용한 런타임 의존성 관리
macOS 워크플로우 공유