Yum 出现问题?

15 投票
2 回答
78859 浏览
提问于 2025-04-18 06:10

我现在电脑上有默认的 Python 2.7,想要安装 Python 3.3,还想安装 pip3 和 Django。但是当我用 yum 安装其他东西时,出现了这个错误,比如说我想更新软件时。

错误信息是:导入 yum 需要的一个 Python 模块时出问题了。导致这个问题的错误是:没有名为 yum 的模块。请安装一个提供这个模块的包,或者确认这个模块是否正确安装。可能上面的模块和当前的 Python 版本不匹配,现在的版本是:2.7.5(默认,2013年11月12日,16:18:42) [GCC 4.8.2 20131017 (Red Hat 4.8.2-1)]。如果你自己无法解决这个问题,请访问 yum 的常见问题解答页面:http://yum.baseurl.org/wiki/Faq

我该如何解决这个错误呢?

2 个回答

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
19

你的系统上可能安装了很多版本的Python,但只有其中一个版本安装了yum库。你在命令行运行yum时,调用的Python程序并不是那个安装了yum库的版本。

首先,找出你系统上可用的Python 2版本。以管理员身份运行:

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

运行后,你可能会看到类似这样的输出:

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

等等...

对于每一个Python版本,运行:

/usr/bin/python2.x

这时你会看到一个Python提示符。

接着,运行:

>>> import yum

对每个Python版本都这样做,直到找到一个在这一步不会出现ImportError的版本。

然后,找出yum使用的Python路径。这可以在yum脚本的第一行找到。运行:

cat `which yum` | head -1

你可能会得到:

#!/usr/bin/python

现在,以管理员身份运行:

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

(把python2.x替换成你之前找到的正确的Python版本)。

撰写回答