2013-08-26 95 views
1

到目前为止我还没有找到全面的答案。对不起,如果我错过了某个地方的答案。如何使rpm模块与(非系统)工作Python2.7

我有一个RHEL5/OEL5 64位操作系统,其上安装了本机python-2.4并安装了rpm-python-4.4.2.3-27.0.1.el5。 当用python-2.4做'import rpm'时,一切都按预期工作。

我想(必须)在同一台机器上使用python rpm模块和python-2.7.5,不知道这样做的正确方法是什么。 Python 2.7.5已成功安装。当调用'import rpm'时,我得到一个导入错误。

我发现很少的RPM的python-2.7.5但是,它们不利于RHEL5/OEL5 64位

欣赏任何指针/指教!

回答

1

Python 2.7的一个好的解决方案是使用virtualenv

简而言之,virtualenv允许您在同一台计算机上(甚至是同一个用户)管理多个版本的Python,而不必相互进入。它也允许有几个相同Python版本的“风格”,每个风格都有一组不同的模块。

该过程在detail in the documentation中描述。

根据您的情况,创建一个环境,然后使用pip将RPM模块安装到此环境中。当您激活环境时,只要在环境中启动它们(通常是相同的终端或shell进程),Python脚本就能够导入RPM模块。

这不会影响现有的安装2.7和老的Python 2.4。

[编辑]rpm-module没有pip模块。根据模块的工作方式,您应该尝试下载源RPM(*.src.rpm)并修改SPEC文件,直到它将Python 2.7用于构建并安装到Python 2.7模块路径中。

[EDIT2]步骤来解决该问题:

  1. 我打开焦油tar -zxvf rpm-4.4.2.3.tar.gz
  2. vi configure - - - - >改变的python2.5所有实例python2.7
  3. ./autogen.sh
  4. gmake
  5. gmake -n install > log
  6. 检查log文件以确保它不会安装在错误的位置。
  7. gmake install安装真正
+0

的virtualenv允许您下载的** **来源为RPM模块和构建+安装它们的Python 2.7孤单。 –

+0

它不存在。如果您只需分析RPM文件,则可以使用其中一个PIP模块。或者使用Python 2.4的源代码并对它们进行修补,直到它们用Python 2.7进行编译。 –

+0

最后,我修补了Python 2.4的源代码并按照您的建议将其修补为2.7: ***** 1.打开tar(tar -zxvf rpm-4.4.2.3.tar.gz)**** * ***** 2. vi configure ----->将“python2.5”的所有实例更改为“python2.7”***** ***** 3. ./autogen。 sh ***** ***** 4. gmake ***** ***** 5. gmake install ***** *****只写了这些步骤来帮助其他人 :) ***** –