启用 SCL python27 以便其他 RPM 可以看到它

启用 SCL python27 以便其他 RPM 可以看到它

尝试在 RHEL 6 机器上创建使用 Python 2.7 的 RPM。我使用 SCL 启用 Python2.7 并顺利构建 RPM。但是,当我在启用 Python 2.7 后尝试在其他系统上安装该 RPM 时(scl enable python27 bash then yum localinstall myrpm.rpm),我收到一条错误,指出:

Requires: python(abi) = 2.7
Installed: python-2.6.6-64
    python(abi) = 2.6

在构建 RPM 时,我需要在 spec 文件中添加一些内容来修复此问题吗?或者此问题是否与我尝试安装 RPM 的机器上的环境有关?

答案1

rpmbuild 会自动从使用的 python 版本中添加 Python 要求。因此,它会将 python(abi)=2.7 添加到 RPM 的要求列表中。但是,当使用 scl 使用的 python27 时,会提供 python27-python。通过添加以下行解决了此问题

AutoReqProv:否

到 RPM 中的 spec 文件。安装了 rpm 的机器事后不必检查 python(abi) 要求,而是验证是否提供了 python27-python。

相关内容