为(非系统)Python安装rpm模块

时间:2013-03-14 14:47:32

标签: python rpm

我需要支持一些使用旧版Python(2.4)的软件。所以我已下载并编译了Python 2.4并将其安装在virtualenv中。到目前为止,一切正常和正常的程序。

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

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

如果我使用系统python(在Ubuntu上),我可以安装python-rpm包。但这适用于Python 2.7。如何安装Python 2.4的等效文件?

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

我不是在寻找包含PYTHON 2.4的RPM。我正在寻找一个模块命名转速,这是由PYTHON 2.4软件编写的。

3 个答案:

答案 0 :(得分:1)

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

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

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

python setup.py install 

来自您的活跃环境。

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

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


不能保证软件包可以使用你的python版本。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

可以在此处找到rpm模块的来源:http://www.rpm.org/wiki/Download

下载所需版本后,按照INSTALL说明进行编译,以便在目标操作系统上进行编译。然后确保将安装选择的'site-packages'文件夹添加到PYTHONPATH环境变量中。

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

HTH,