Python &引用;没有名为yum的模块;世纪7

Python &引用;没有名为yum的模块;世纪7,python,yum,Python,Yum,我的操作系统是CentOS Linux 7.4.1708版 首先,我安装anaconda for python,然后在/usr/bin/python中替换默认的python $ ll /usr/bin/python* lrwxrwxrwx. 1 root root 7 Aug 15 03:40 /usr/bin/python -> python2 lrwxrwxrwx. 1 root root 9 Aug 9 22:10 /usr/bin/python3 -> python3.

我的操作系统是CentOS Linux 7.4.1708版

首先,我安装anaconda for python,然后在/usr/bin/python中替换默认的python

$ ll /usr/bin/python*
lrwxrwxrwx. 1 root root  7 Aug 15 03:40 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root  9 Aug  9 22:10 /usr/bin/python3 -> python3.6
lrwxrwxrwx. 1 root root 29 Aug  9 22:10 /usr/bin/python2.7 -> /root/anaconda2/bin/python2.7
lrwxrwxrwx. 1 root root 29 Aug  9 21:59 /usr/bin/python3.6 -> /root/anaconda3/bin/python3.6
lrwxrwxrwx. 1 root root  9 Aug  8 23:49 /usr/bin/python2 -> python2.7


Python 2.7.15 |Anaconda, Inc.| (default, May  1 2018, 23:32:55)
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
所以我不能再使用yum了

$ yum
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   No module named yum

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.7.15 |Anaconda, Inc.| (default, May  1 2018, 23:32:55)
[GCC 7.2.0]

If you cannot solve this problem yourself, please go to
the yum faq at:
  http://yum.baseurl.org/wiki/Faq
我正在尝试将
vi/usr/bin/yum
第一行修改为任何其他python路径。 但它不起作用

另外,我正在尝试重新安装python*.rpm,如下所示:

rpm -ivh python-tools-2.7.5-68.el7.x86_64.rpm python-2.7.5-68.el7.x86_64.rpm python-libs-2.7.5-68.el7.x86_64.rpm tkinter-2.7.5-68.el7.x86_64.rpm
$PATH=/root/anaconda2/bin/python2.7:$PATH
然后重新安装
yum*.rpm
(我今天下载了很多
*.rpm
) 但是,仍然不起作用。
有人帮我吗?谢谢

我找到了两种解决超级用户问题的方法

解决方案1
  • ln-s/etc/yum.conf/etc/yum/yum.conf
解决方案2 删除新安装的python

  • rm/usr/bin/python
将python链接到正确的版本(x.y)

  • ln-s/usr/bin/pythonx.y/usr/bin/python

使用重新安装
python

rpm -ivh --force python-2.7.5-68.el7.x86_64.rpm
为什么它有效。通常,rpm对其他包的文件是宽容的。在您的例子中,它看到它没有创建链接文件,所以在安装时跳过了它们。从…起 我们可以找到

--force
    Same as using --replacepkgs, --replacefiles, and --oldpackage. 
--replacefiles
    Install the packages even if they replace files from other, already installed, packages. 
使用这些选项,
rpm
并不关心旧文件是由其他人创建的这一事实

提示:永远不要删除
/usr/bin
中的更改文件
/bin
是链接的最佳位置。最好将
bin
目录添加到
$PATH
中,方法是向
.bash\u配置文件中添加如下内容:

rpm -ivh python-tools-2.7.5-68.el7.x86_64.rpm python-2.7.5-68.el7.x86_64.rpm python-libs-2.7.5-68.el7.x86_64.rpm tkinter-2.7.5-68.el7.x86_64.rpm
$PATH=/root/anaconda2/bin/python2.7:$PATH
因此,如果有什么东西坏了,只需从
.bash\u profile
中删除该行即可。
再说一次:总是做备份,尤其是在处理系统文件时。

我最近在CentOS7的Yum3.4.3和Python2.7.5中遇到了这个问题

[root@centos64b生成]#导入时出现问题 运行yum所需的Python模块之一。导致错误的原因 这个问题是:

没有名为yum的模块

请安装提供此模块的软件包,或验证 模块安装正确

上述模块可能与当前版本不匹配 是Python的一部分,它是: 2.7.5(默认,2018年4月11日,07:36:10)[GCC 4.8.5 20150623(Red Hat 4.8.5-28)]

如果您自己无法解决此问题,请访问yum常见问题解答 地址:

在遇到这个问题之前,我没有更新Python。最后发现python站点包libpath没有在sys.path中设置,因此这里的修复方法是将站点包libpath附加到/usr/bin/yum python脚本中的sys.path。那么百胜就可以了

[build@centos64b~]$more/usr/bin/yum
#!/usr/bin/python
导入系统
sys.path.append(“/usr/lib/python2.7/site packages”)
sys.path.append(“/usr/lib64/python2.7/site packages”)

这里是相关问题的解决方案这里是解决方案:尝试使用
--force
选项重新安装Python包。@Zalatik如何使用--force?@YiLevin
rpm-ivh--force Python-2.7.5-68.el7.x86_64.rpm重新安装Python包,但是我找不到旧的Python,所有的/usr/bin/Python*都是我安装的,默认的pythonx.y是remove。无论存在哪个版本,请尝试使用ln命令链接它此外,要修复yum,还需要编辑/etc/yum/yum.conf如何链接?请帮帮我,我的python2.6是
/usr/local/bin/python
我的python2.7是`/usr/bin/python``但是默认的python2.6。而且,我不知道如何修复,因为内容在这里<代码>vi/etc/yum/yum.conf[main]cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly\u limit=5 bugtracker\u url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum District=centos发布版
Cn您是的输出下面的命令
ls-l/usr/bin-pyth*
ls-l/usr/local/bin-pyth*
很可能会解决您的问题,`rm/usr/bin/python;ln-s/usr/local/bin/python/usr/bin/python`谢谢!你让我开心!我还将这些行添加到
/usr/libexec/urlgrabber ext down