3.2. Python 3 RPM 的常见宏


在 SPEC 文件中,使用用于 Python 3 RPM 的宏表中的内容来使用宏而不是使用硬编码。您可以通过在 SPEC 文件之上定义 python3_pkgversion 宏来重新定义在这些宏中使用哪个 Python 3 版本(请参阅 第 3.1 节 “SPEC 文件是 Python 软件包的描述”)。如果您定义了 python3_pkgversion 宏,则下表中描述的宏的值将反映指定的 Python 3 版本。

表 3.1. Python 3 RPM 宏
Macro常规定义描述

%{python3_pkgversion}

3

所有其他宏使用的 Python 版本。可以重新定义到 3.11 以使用 Python 3.11,或把 3.12 重新配置为使用 Python 3.12

%{python3}

/usr/bin/python3

Python 3 解释器

%{python3_version}

3.9

Python 3 解释器的 major.minor 版本

%{python3_sitelib}

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

安装纯 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} 宏中定义的标记

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.