原标题:安装python多版本导致yum命令错误(No module named yum)的解决办法
最近在Centos上安装了Python2.7,这样linux系统上存在多个python版本,结果yum命令出现错误,提示为:“No module named yum”,通过修改yum命令文件,替换为python的正确路径解决了yum 无法使用的问题。
yum命令具体的错误信息如下:
[root@10-8-69-125 ~ ]# yumThere was a problem importing one of the Python modulesrequired to run yum. The error leading to this problem was: No module named yumPlease installa package whichprovides this module, orverify that the module is installed correctly.It 's possible that the above module doesn't match thecurrent version of Python, whichis:2.7.3 (default, May 29 2017, 16:44:21 )[GCC 4.4.7 20120313 (Red Hat 4.4.7-18 )]If you cannot solve this problem yourself, please go to the yum faq at: http://yum.baseurl.org/wiki/Faq
Bash
Copy
这是因为 yum 使用python编写,如果在Linux中安装多个python版本,则会出现“No module named yum”的错误,解决方法是更换Yum使用的python版本路径。
解决“No module named yum”1、查找python 的当前路径
使用whereis python 命令查找,可以看到目前centos系统中安装了两个python版本,分别为python2.6和python2.7。
[root@10-8-69-125 ~ ]# whereis pythonpython: /usr/bin/python /usr/bin/python2.6 /usr/lib/python2.6 /usr/lib64/python2.6 /usr/local/bin/python2.7 /usr/local/bin/python /usr/local/bin/python2.7-config /usr/local/lib/python2.7 /usr/include/python2.6 /usr/share/man/man1/python.1.gz
Bash
Copy
2、修改/usr/bin/yum文件
打开/usr/bin/yum文件,替换为python的正确路径,即可解决问题。将文件中的#!/usr/bin/python修改为
#!/usr/bin/python2.6
Bash
Copy
然后保存即可。
修改后的/usr/bin/yum文件内容如下图:
这样yum无法使用的问题解决了,再次使用yum ,就可以正常使用了:
[root@10-8-69-125 ~ ]# yum已加载插件:fastestmirror你需要给出命令Usage: yum [options ]COMMANDList of Commands:check Check forproblems inthe rpmdbcheck-update 检查是否有软件包更新clean 删除缓存的数据deplist 列出软件包的依赖关系distribution-synchronization Synchronize installed packages to the latest available versionsdowngrade downgrade a packageerase 从系统中移除一个或多个软件包groupinfo 显示组的详细信息groupinstall 向系统中安装一组软件包grouplist 列出可安装的组groupremove 从系统中移除一组软件包 help显示用法信息 historyDisplay, or use, the transaction historyinfo 显示关于软件包或组的详细信息 install向系统中安装一个或多个软件包list 列出一个或一组软件包load-transaction load a saved transaction from filenamemakecache 创建元数据缓存provides 查找提供指定内容的软件包reinstall 覆盖安装一个包repolist 显示已配置的仓库resolvedep 判断哪个包提供了指定的依赖search 在软件包详细信息中搜索指定字符串shell 运行交互式的 yum 外壳update 更新系统中的一个或多个软件包upgrade 更新软件包同时考虑软件包取代关系version Display a version forthe machine and/or available repos.
Bash
Copy
本文转自科技爱好者博客返回搜狐,查看更多
责任编辑: