尝试在 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。