Python 스크립트를 실행 가능한 명령어로 만드는 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- 소프트웨어 개발자 (특히 CLI 도구 개발, 자동화 스크립트 작성자)
- 중급 수준 (UNIX 명령어 및 파일 권한 기본 지식 필요)
핵심 요약
- shebang 라인(
#!/usr/bin/env python3
)을 사용하여 Python 스크립트를 명령어로 실행 가능하게 만든다. chmod +x
명령어로 스크립트에 실행 권한을 부여해야 한다.$PATH
에 포함된 디렉터리에 스크립트를 이동하면 전역 명령어로 사용 가능하다.
섹션별 세부 요약
1. Shebang 라인의 정의 및 작동 원리
#!
시퀀스는 운영체제가 스크립트를 실행할 인터프리터를 결정하도록 지시한다./usr/bin/env python3
는 시스템에서 사용 가능한 Python 인터프리터를 동적으로 찾는 방식으로 포트ابل성을 보장한다.- shebang 라인은 스크립트의 첫 번째 라인이어야 하며, 공백이나 주석이 섞여 있으면 무시된다.
2. 실행 가능한 스크립트로 만드는 방법
- 스크립트 파일(
hello.py
)의 맨 앞에 shebang 라인을 추가한다. chmod +x hello.py
명령어로 실행 권한을 부여한다../hello.py
명령어로 직접 실행 가능하다.
3. 전역 명령어로 사용하기
$PATH
에 포함된 디렉터리(예:/usr/local/bin
)로 스크립트를 이동한다.export PATH="$HOME/bin:$PATH"
를.bashrc
등에 추가하여 경로를 확장한다..py
확장자를 생략하고hello
처럼 이름을 변경할 수 있다.
4. 가상 환경과의 호환성 관리
- 가상 환경의 Python 인터프리터 경로(
which python
)를 shebang에 직접 지정하면 의존성 관리가 용이하다. - 하지만, 포트ابل성을 위해
#!/usr/bin/env python3
가 권장된다.
결론
- shebang 라인과 실행 권한 설정(
chmod +x
)을 통해 Python 스크립트를 UNIX 명령어처럼 사용할 수 있다. $PATH
에 추가하면 전역 명령어로 활용 가능하며,.py
확장자를 생략하여 프로페셔널한 CLI 도구를 만들 수 있다.- 가상 환경 사용 시
which python
명령어로 인터프리터 경로를 확인한 후 shebang에 직접 지정하는 것이 유리하다.