Yum 出现问题?
我现在电脑上有默认的 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 个回答
我也遇到过同样的问题。
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
你的系统上可能安装了很多版本的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版本)。