【问题标题】:Yum not working? [closed]百胜不工作? [关闭]
【发布时间】:2014-06-28 16:34:20
【问题描述】:

我有默认的 python 2.7,我尝试安装 python3.3 并安装 pip3 和 Django。现在当我尝试使用 yum 安装其他人时出现此错误。例如 yum 更新

导入其中一个 Python 模块时出现问题 需要运行 yum。导致此问题的错误是: 没有名为 yum 的模块 请安装提供此模块的软件包,或 验证模块是否安装正确。 上面的模块可能与 当前版本的 Python,即: 2.7.5(默认,2013 年 11 月 12 日,16:18:42) [GCC 4.8.2 20131017(红帽 4.8.2-1)] 如果您无法自行解决此问题,请访问 yum 常见问题解答: http://yum.baseurl.org/wiki/Faq

我该如何解决这个错误?

【问题讨论】:

  • 你不应该改变系统python。 yum 依赖它。如果你安装一个新的 python,把它放在另一个路径中。然后您可以使用virtualenv 无缝使用新的python。

标签: python fedora


【解决方案1】:

我也有同样的问题。

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 --version 它说 Python 2.7.5
  • less /usr/bin/yum 的第一行是什么?
  • 您是否尝试通过主源代码安装python3
  • 我只是从 python.org 下载 python
  • @user3480706 我的帖子升级了,再检查一遍。
【解决方案2】:

您的系统上可能有许多 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 

(将 python2.x 替换为您之前找到的好的 python 版本)。

【讨论】:

  • 你是对的。但我需要使用 python2.7 而不是 python2.6。如何让python2.7成为默认的python版本?
  • 这就是我在回答中写的ln -s /usr/bin/python2.x /usr/bin/python 命令的目的。将 /usr/bin/python2.x 替换为系统上 python2.7 的位置。如果不是 /usr/bin/python2.7,运行which python2.7 找出它在哪里。
  • 当然,只有当 python2.7 真的应该是你系统上的默认 python 时才这样做。如果 python2.6 是你的发行版正式支持的 python 版本,你应该保持这种状态。当您想使用 python2.7 运行应用程序时,只需运行 python2.7 myapp.py
  • 是的。然后我不能再使用easy_install或pip,每次我使用python2.7 setup.py install
猜你喜欢
  • 1970-01-01
  • 2013-02-11
  • 2015-04-29
  • 1970-01-01
  • 2013-02-04
  • 2014-05-04
  • 2016-04-26
  • 2012-10-08
  • 2012-01-12
相关资源
最近更新 更多