我如何告诉 RPM 要使用哪个软件版本?

我如何告诉 RPM 要使用哪个软件版本?

我正在尝试安装 Subversion SWIG Python 库,以便可以将它们与 Trac 一起使用。环境是 RHEL5,由于某种原因,yum 的 RedHat 存储库不可用,因此我不得不从 RPM 安装所有内容。

我已经安装了所有依赖项和 Subversion 本身 (1.6.17),没有任何问题。但是,由于 RHEL 附带安装了 Python 2.4.3,并且它在多个地方说升级它可能会导致依赖它的操作系统部分出现问题,所以我另外安装了 Python 2.7,而不是替代安装。

现在,当我尝试安装 subversion-python RPM(subversion-python-1.6.17-1.rhel5.x86_64.rpm)时,它会使用较旧的 Python 版本,并将所有绑定放在那里。

所以问题是——我该如何告诉它使用较新的 Python?

我已经尝试过的事情:

  1. 替换__python变量/usr/lib/rpm/macros- 当我运行时,rpm -E%{__python}我得到了正确的版本,但仍然不行。
  2. 将结果目录(libsvn/*svn/*)复制到较新的版本 - 导致错误:(undefined symbol: Py_InitModule4现已恢复)。

有任何想法吗?

答案1

存储库中的软件包是为特定 Python 版本构建的,无法更改。您需要找到不同的软件包或从源代码安装。

答案2

您可以使用多个外部存储库来实现此目的。我自己用来安装 Python 2.6 的一个存储库是这个:

http://xteams.oit.ncsu.edu/iso/docs/vision/fedoit

只需查找 python26* 即可找到所有可用的 Python 2.6 包。

然而,我不知道 Python 2.7......但我怀疑你是否真的需要高于 2.6 的版本。

相关内容