# Uv의 킬러 기능은 즉석(ad-hoc) 환경을 쉽게 만드는 것

> Clean Markdown view of GeekNews topic #18711. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=18711](https://news.hada.io/topic?id=18711)
- GeekNews Markdown: [https://news.hada.io/topic/18711.md](https://news.hada.io/topic/18711.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-01-13T10:03:52+09:00
- Updated: 2025-01-13T10:03:52+09:00
- Original source: [valatka.dev](https://valatka.dev/2025/01/12/on-killer-uv-feature.html)
- Points: 15
- Comments: 5

## Summary

uv의 가장 놀라운 기능은 즉석(ad-hoc) 환경을 쉽게 만드는 것으로, 복잡한 설정 없이 단 한 줄의 명령어로 다양한 Python 버전과 의존성을 관리할 수 있습니다. 예를 들어, Python 3.12와 pandas를 사용해야 할 경우, `uv run --python 3.12 --with pandas python` 명령어만으로 간단히 실행할 수 있습니다. 이는 기존의 복잡한 가상 환경 설정 과정을 대체하며, 사용자가 기억하기 쉽고 흔적이 남지 않는다는 장점이 있습니다.

## Topic Body

- 성능이나 Python과의 호환성은 uv의 차별점이 아님. uv는 PEPs를 준수하며, Python의 패키지 관리자로서 추천할 만함. 그러나 가장 놀라운 기능은 따로 있음.  
- Python 3.12에서 ad-hoc 스크립팅을 할 때, 종종 Pandas와 같은 의존성을 추가해야 할 때가 있음. 일반적인 방법은 다음과 같음:  
  - `pip install pandas`를 실행하여 전역 환경을 수정하거나  
  - 가상 환경을 생성하고, `pip install pandas`를 실행하고, 가상 환경을 활성화한 후 Python을 실행하는 것임.  
- 다른 Python 버전이 필요할 경우, `pyenv`를 사용하여 버전을 설치하고 로컬로 설정해야 함. 최악의 경우:  
  1. `pyenv install 3.12`  
  2. `pyenv local 3.12`  
  3. `python -m venv .venv`  
  4. `source .venv/bin/activate`  
  5. `pip install pandas`  
  6. `python`  
- uv를 사용하면 단 한 줄의 명령어로 가능함:  
  - `uv run --python 3.12 --with pandas python`  
  - 기억하기 쉽고, 흔적이 남지 않음. 즐거운 스크립팅!

## Comments



### Comment 33472

- Author: tribela
- Created: 2025-01-15T17:16:06+09:00
- Points: 1

poetry 아직도 쓰고 있는데 슬슬 넘어가봐야겠습니다. virtualenv wrapper도 안녕이겠군요

### Comment 33427

- Author: roxie
- Created: 2025-01-14T21:00:52+09:00
- Points: 2

진짜 pip 놔줄때가 된것 같네요

### Comment 33415

- Author: dongho42
- Created: 2025-01-14T12:48:25+09:00
- Points: 1

uv는 init할때마다 필요없는것들 덕지덕지 딸려나오는거 빼곤 모두 만족하면서 잘쓰고있어요

### Comment 33408

- Author: xguru
- Created: 2025-01-14T09:57:59+09:00
- Points: 1

[Uv - 러스트로 구현한 초고속 파이썬 패키징 도구](https://news.hada.io/topic?id=13388)

### Comment 33335

- Author: neo
- Created: 2025-01-13T10:03:52+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=42676432) 
- uv 패키지 관리자를 매우 좋아하며, 커뮤니티의 표준으로 자리 잡았으면 좋겠다는 의견이 있음. 특히 새로운 사용자들에게 추천할 만한 도구임

- uv는 PEP 723의 인라인 스크립트 종속성을 지원하여 더욱 깔끔한 사용이 가능함

- NodeJS 개발자로서 Python의 환경 설정 문제 해결이 아직도 안 된 것이 놀라움. Node도 완벽하지 않지만, 전역 환경 수정에 대한 걱정은 없음

- virtualenv의 활성화가 불필요하며, pyenv 인터프리터 설정 없이도 직접 가상 환경을 생성할 수 있음

- uv의 단일 도구 실행에 여러 기능이 묶이는 것이 불편하다는 의견이 있음. venv를 활성화하고 여러 번 프로그램을 실행할 수 있는 것이 편리함

- uv는 uvx 명령어를 포함하여 Python 스크립트를 수동 설치 없이 실행할 수 있음

  - 예: `uvx --from 'huggingface_hub[cli]' huggingface-cli`

- uv를 좋아하고 곧 사용해보고 싶지만, 기사 내용의 요점을 이해하지 못하겠다는 의견이 있음. pyenv와 poetry로도 로컬 종속성을 가져올 수 있음

- 다른 바이너리 종속성이 있는 경우 Nix와 virtualenv + pip-tools를 사용하는 것이 더 나은 선택일 수 있음

- "올바른 경로"에서 가상 환경을 먼저 활성화한 후 pandas를 설치해야 한다는 의견이 있음
