百胜不工作?

时间:2014-05-11 07:10:47

标签: python fedora

我有默认的python 2.7,我尝试安装python3.3并安装pip3和Django.now当我尝试使用yum安装其他时我得到了这个错误。例如yum update

导入其中一个Python模块时出现问题 要跑yum。导致此问题的错误是:    没有名为yum的模块 请安装提供此模块的软件包,或 验证模块是否已正确安装。 上述模块可能与以下模块不匹配 当前版本的Python,它是: 2.7.5(默认,2013年11月12日,16:18:42) [GCC 4.8.2 20131017(Red Hat 4.8.2-1)] 如果你自己无法解决这个问题,请转到 yum faq at:   http://yum.baseurl.org/wiki/Faq

如何解决此错误?

2 个答案:

答案 0 :(得分:12)

您的系统上可能有许多python版本,其中只有一个安装了yum库。出于某种原因,在命令行上运行yum时调用的python二进制文件不是安装了yum库的那个。

查找系统上可用的python 2二进制文件列表。以root身份运行:

find / -type f -executable -name 'python2*'

输出结果可能如下:

/usr/bin/python2.6
/usr/bin/python2.7
...

等...

对于其中每一项,请运行

/usr/bin/python2.x

你会得到一个python提示符。 运行:

>>> import yum

为每个python二进制文件执行此操作,直到找到在此步骤中不会引发ImportError的文件。

然后找出yum用于运行python的路径是什么。 这是yum脚本中的第一行。运行

cat `which yum` | head -1

你可能会得到:

#!/usr/bin/python

现在,以root身份运行:

ln -s /usr/bin/python2.x /usr/bin/python 

(用你之前找到的好的python版本替换python2.x。)

答案 1 :(得分:2)

我有同样的问题。

Yum是用Python语言编写的。

因此,当您将默认Python升级到新版本时,它会为yum带来问题。 如果你得到python --version,它会告诉你3.3。

要解决此问题,请将python命令更改为python2.7

首先检查一下:

user@host:~$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Sep 28  2013 /usr/bin/python -> python3.3

试一试:

mv /usr/bin/python /usr/bin/python-origin
ln -s python2.7 /usr/bin/python

然后检查一下:

user@host:~$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Sep 28  2013 /usr/bin/python -> python2.7

如果你想在CentOS中安装python3,你应该通过源代码安装它。

download main source code via python.org website.
extract archive file.
./configure
make
make install