1

可能重复:
在不破坏 yum 的情况下升级 python

我正在运行 Redhat VM(2.6.18-274.el5 64 位)。我在 vm 上安装了 nodejs 以使用 browserstack。为了让 nodejs 运行,我必须将 Python 升级到 2.6 或更高版本。我使用 make altinstall 从源代码安装了 2.7。然后我创建了一个从 2.4 指向 2.7 的硬链接。检查 python -V 现在显示 2.7 是默认值。一切都很好,节点现在已经启动并运行。

There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   No module named yum

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.7.2 (default, Jul  2 2012, 23:35:52) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-51)]

If you cannot solve this problem yourself, please go to 
the yum faq at:
  http://wiki.linux.duke.edu/YumFaq

我的问题是百胜。它不再工作,因为它正在寻找 2.4 的旧版本 Python?无论如何,我可以让它们都像在 Yum 和 node 中一样使用不同的版本吗?

4

2 回答 2

1

这里有两个问题。一是你破坏了你的系统python。Yum 安装在 python 的站点包中。如果你损坏了 python,yum 就会坏掉。破坏系统python安装是一个愚蠢的想法。也许你做了备份,或者有另一台可以移植原始 2.4 python 的姊妹机器。

另一个问题是在同一台机器上拥有多个 python 没有问题。要安装 Node.js,您必须简单地告诉它使用哪个 python。在运行之前设置PYTHON=/opt/local/my/path/to/python2.7/bin/python,可能也是如此。PYTHONHOME./configure

于 2012-07-02T17:22:53.870 回答
0

你永远不应该覆盖系统 Python;太多的脚本依赖于了解该解释器的行为。您可以在 中安装更新版本的 Python /usr/local,然后virtualenv根据需要使用 Python 包进一步隔离您的环境。

于 2012-07-02T17:22:11.273 回答