我有默认的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
如何解决此错误?
答案 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