7

我需要支持一些使用旧 Python 版本(2.4)的软件。所以我下载并编译了 Python 2.4 并将其安装在 virtualenv 中。至此,一切OK,程序正常。

但是该软件正在尝试导入一个rpm模块。而且我找不到该模块的源代码(它不是标准 Python 库的一部分,afaict)。

通常,一旦启用 virtualenv ( source env/bin/activate),我就可以使用easy_install. 但是easy_install rpm没有找到任何东西。有一个pyrpm模块,但它不是一回事(它安装了一个名为“pyrpm”的模块)。谷歌搜索是无用的,因为它们都链接到关于如何构建 rpm 的文章......

如果我使用的是系统 python(在 Ubuntu 上),我可以安装该python-rpm软件包。但这是针对 Python 2.7 的。如何安装 Python 2.4 的等效版本?

[我的印象是,许多 Linux 系统使用的 rpm 库都包含一个 Python 库,该库被发行版打包为 python-dev。但我看不到如何访问任意 python 版本。]

我不是在寻找包含 Python 2.4 的 RPM。我正在寻找一个名为 rpm 的模块,该模块由为 Python 2.4 编写的软件使用。

4

3 回答 3

1

它就在那里,在 python-rpm RPM 包中:

http://rpmfind.net/linux/rpm2html/search.php?query=python-rpm

您可能需要下载包内容,提取它们,然后使用

python setup.py install 

从您的活动环境中。

当然,由于它是预编译的,您可能无法运行 C 扩展。

我对 RPM 不够熟悉,不知道您是否可以从那里获得源代码。


不保证该包将与您的 python 版本一起使用。

于 2013-03-14T15:00:55.560 回答
1

没有简单的方法可以做到这一点;python 库是系统 rpm 包和 C 代码接口的一部分,因此与您机器上安装的 rpm 包密切相关。

相反,在使用 Python 2.4 的 VM(例如 CentOS 5)中安装旧操作系统要简单得多。然后一切都是一致的并且有效。

于 2013-06-26T12:33:24.390 回答
1

rpm 模块的源代码可以在这里找到:http ://www.rpm.org/wiki/Download

下载所需版本后,请阅读并按照安装说明在目标操作系统上进行编译。然后确保将安装选择的“site-packages”文件夹的正确路径添加到 PYTHONPATH 环境变量中。

测试启动你的python解释器并运行'import rpm'

高温下,

于 2013-08-29T08:01:01.240 回答