Python 스크립트를 실행 가능한 명령어로 만드는 방법: shebang, chmod, PATH 활용

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에 직접 지정하는 것이 유리하다.