2013-03-14 155 views
2

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

但该软件试图导入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的RPM 2.4。我正在寻找一种模块命名为rpm的软件,用于PYTHON 2.4。

+0

约从源代码编译,而不是安装RPM怎么样? – Raptor 2013-03-14 14:52:56

+0

当然,但来源在哪里?并通过“安装rpm”你是什么意思?你有误解过q吗? easy_install *基本上是从源代码安装的。 – 2013-03-14 14:53:37

+0

Python 2.4.6:http://www.python.org/download/releases/2.4.6/ – Raptor 2013-03-14 14:55:25

回答

0

有没有简单的方法来做到这一点; python库是系统rpm包的一部分,并且与C代码接口,所以它与你的机器上安装的rpm包密切相关。相反,在使用Python 2.4的虚拟机(例如CentOS 5)中安装旧操作系统要简单得多。那么一切都是一致的和有效的。在您下载想要的版本阅读并遵循以编译你的目标OS安装说明http://www.rpm.org/wiki/Download

1

它就在那里,在Python-rpm的RPM包:

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

你可能会想下载软件包内容提取出来,然后用

python setup.py install 

从你活跃的环境。

当然,因为它是预编译的,所以您可能在获取C扩展运行时遇到问题。

我对RPM的知之甚少,不知道是否可以从那里获取源代码。


不保证软件包可以和你的python版本一起工作。

+0

这是非常hacky:o( – 2013-03-14 15:08:23

+0

@andrewcooke你可以从更改日志中获取电子邮件地址,并向维护人员询问路线。可能有版本控制下的某个源代码! – 2013-03-14 15:21:41

1

对于RPM模块的源可以在这里找到。之后,确保将正确的路径添加到安装选择到您的PYTHONPATH环境变量中的“site-packages”文件夹中。

要测试启动Python解释器和运行 '进口转'

HTH,

+0

安装* everything * - 您将获得rpm包和python包装,它不会为你现有的系统rpm包提供一个包装。 – 2013-09-03 08:42:27