GN⁺: uv를 셰뱅 라인으로 사용하는 방법
(akrabat.com)-
uv를 shebang 라인으로 사용하기
-
~/bin/
디렉토리에 자동화 스크립트를 많이 생성함. -
uv
와 인라인 스크립트 메타데이터를 발견한 이후로 Python을 더 많이 사용하게 됨. -
~/bin
이 경로에 있으므로 명령줄에서 직접 스크립트를 실행하고자 함. -
이를 위해 다음과 같은 shebang을 사용함:
#!/usr/bin/env -S uv run --script
-
명령줄은 이제
uv run --script
를 실행하고 파일을 인수로 전달함. -
uv
는 shebang을 무시하고 나머지 파일을 일반 Python 파일로 실행함. -
chmod a+x {filename}
명령어로 스크립트에 실행 권한을 부여한 후, Python으로 작성된 간단한 명령줄 스크립트를 사용할 수 있게 됨. 이 스크립트는 자동으로 종속성을 처리함.
Hacker News 의견
-
env -S
옵션을 사용하여 shebang 라인에서 여러 인자를 전달할 수 있게 됨- Linux에서 shebang 라인은 단일 인자만 전달 가능하다는 일반적인 인식을 깨뜨림
-
env -S
는 인자를 개별적으로 분리하여 실행하는 데 유용함
-
uv
를 사용하여 Python CLI 도구를 설치하는 방법을 개선함-
curl | sh
스크립트를 사용하여 간단하게 설치 가능하게 함 - PyPI에
uv
를 의존성으로 하는 작은 설치 패키지를 만들어 CLI 도구를 설치함 - Python 가상 환경을 관리할 필요 없이 독립된 환경에 설치 가능하게 함
- 복잡한 의존성 문제로 인한 GitHub 이슈가 줄어듦
-
-
Prolog 파일을 쉘에서 실행할 수 있는 방법을 고안함
- Prolog 파일을 쉘 파일로도 인식되게 하여 실행 가능하게 함
- 쉘에서 첫 번째 라인을 주석으로 처리하여 오류를 방지함
-
Trey Hunner의 "Lazy self-installing Python scripts with uv" 기사에서 더 많은 예시와 세부사항을 제공함
-
mise
를 사용하여 작은 작업을 위한 스크립트를 작성할 수 있음-
uv
를 사용하여 Python 스크립트를 실행하는 방법을 소개함
-
-
uv run python
을 사용하여 Python 환경을 관리하는 것이 편리함-
.venv
를 관리할 필요 없이 프로젝트 환경에서 REPL을 실행할 수 있음 - 시스템 설치 문제를 해결하고, 프로젝트/환경 내에서 직접 실행 가능함
-
-
uv
를 명령어 실행기로 사용할 때 몇 가지 주의할 점이 있지만, 대부분의 경우 시간 절약에 도움을 줌-
.py
파일을 직접 실행할 때 경로 문제를 해결하기 위한 옵션이 있음
-
-
TypeScript 사용자들은 Deno를 사용하여 유사한 작업을 수행할 수 있음
-
deno run
을 사용하여 권한 플래그를 추가할 수 있음
-
-
Nix 패키지 관리자를 사용하여 다양한 언어와 의존성을 관리할 수 있음
- 단일 파일로 휴대 가능한 스크립트를 작성할 수 있음