6장. Python 스크립트에서 인터프리터 지시문 수정


Red Hat Enterprise Linux 10에서 실행 가능한 Python 스크립트는 주요 Python 버전을 명시적으로 지정하는 hashbangs 또는 shebangs라고도 하는 인터프리터 지시문을 사용할 것으로 예상됩니다. 예를 들면 다음과 같습니다.

#!/usr/bin/python3
#!/usr/bin/python3.12
Copy to Clipboard Toggle word wrap

RPM 패키지를 빌드할 때 /usr/lib/rpm/redhat/brp-mangle-shebangs BRP(Buildroot 정책) 스크립트가 자동으로 실행되며 모든 실행 파일에서 인터프리터 지시문을 수정하려고 합니다. BRP 스크립트는 모호한 인터프리터 지시문과 함께 Python 스크립트가 발생할 때 오류를 생성합니다(예: #!/usr/bin/python 또는 #!/usr/bin/env python ).

RPM 빌드 시 빌드 오류가 발생하지 않도록 Python 스크립트의 인터프리터 지시문을 수정할 수 있습니다.

사전 요구 사항

  • Python 스크립트의 일부 인터프리터 지시문으로 인해 빌드 오류가 발생합니다.

프로세스

  • 시나리오에 따라 다음 단계 중 하나를 수행하여 인터프리터 지시문을 수정합니다.

    • 사양 파일의 %prep 섹션에서 다음 매크로를 사용합니다.

      %py3_shebang_fix <SCRIPTNAME> …​
      Copy to Clipboard Toggle word wrap

      SCRIPTNAME 은 파일, 디렉토리 또는 파일 및 디렉터리 목록일 수 있습니다.

      결과적으로 나열된 디렉터리에 있는 모든 나열된 파일과 .py 파일에는 %{python3} 을 가리키도록 인터프리터 지시문이 수정되었습니다. 원래 인터프리터 지시문의 기존 플래그는 보존되며 %{py3_shebang_flags} 매크로에 정의된 추가 플래그가 추가됩니다. 사양 파일에서 %{py3_shebang_flags} 매크로를 추가하여 추가할 플래그를 변경할 수 있습니다.

    • 패키지 Python 스크립트가 예상 형식을 준수하도록 수정합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat