3.2. Python 3 RPM의 일반적인 매크로

SPEC 파일에서는 항상 값을 하드 코딩하지 않고 다음 Macros for Python 3 RPMs 테이블에 설명된 매크로를 사용합니다. SPEC 파일 상단에 python3_pkgversion 매크로를 정의하여 이러한 매크로에서 어떤 Python 3 버전이 사용되는지 확인할 수 있습니다( 3.1절. “Python 패키지에 대한 SPEC 파일 설명”참조). python3_pkgversion 매크로를 정의하는 경우 다음 표에 설명된 매크로 값은 지정된 Python 3 버전을 반영합니다.

표 3.1. Python 3 RPM용 매크로

매크로일반 정의설명

%{python3_pkgversion}

3

다른 모든 매크로에서 사용하는 Python 버전입니다. Python 3.11 을 사용하도록 3.11로 다시 정의할 수 있습니다.

%{python3}

/usr/bin/python3

Python 3 인터프리터

%{python3_version}

3.9

Python 3 인터프리터의 major.minor 버전

%{python3_sitelib}

/usr/lib/python3.9/site-packages

pure-Python 모듈이 설치된 위치

%{python3_sitearch}

/usr/lib64/python3.9/site-packages

아키텍처별 확장 모듈을 포함하는 모듈이 설치된 위치

%py3_build

 

RPM 패키지에 적합한 인수와 함께 setup.py build 명령 실행

%py3_install

 

RPM 패키지에 적합한 인수와 함께 setup.py install 명령 실행

%{py3_shebang_flags}

s

Python 인터프리터 지시문 매크로, %py3_shebang_fix의 기본 플래그 세트

%py3_shebang_fix

 

Python 인터프리터 지시문을 #! %{python3} 로 변경하고 기존 플래그(있는 경우)를 유지하고 %{py3_shebang_flags} 매크로에 정의된 플래그를 추가합니다.