web-dev-qa-db-ja.com

「yumupdate」の後にyumという名前のモジュールはありません

Amazon EC2 Linux AMI
Python 2.7.5
yum 3.4.3

最近「yumupdate」を実行しましたが、これが問題の原因になると思います。 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.5 (default, Sep  3 2013, 23:16:48) 
[GCC 4.6.3 20120306 (Red Hat 4.6.3-2)]

If you cannot solve this problem yourself, please go to 
the yum faq at:
  http://yum.baseurl.org/wiki/Faq

Yumのよくある質問を見て、yum rpmをいじったり、もっといじったりするのはあまり快適ではありませんでした。

少しグーグルして、python 2.6には正しいサイトパッケージがあり、2.7.5にはないことがわかりました:

# rpm -ql python | grep "site-packages$"
# rpm -ql yum | grep "site-packages/yum$"
/usr/lib/python2.6/site-packages/yum

Yumに2.6を使用させようとすると、次のエラーが発生します。

# yum --version
3.4.3
CRITICAL:yum.cli:Config Error: Error accessing file for config file:///etc/yum/yum.conf

復旧して実行する方法がわからない...

3
drfence

これを投稿した直後に試しました:

ln -s /etc/yum.conf /etc/yum/yum.conf

そしてこれはそれを修正しました。問題はもっと複雑になると思いました。

1
drfence

CentOSでは、ほとんどの場合、この問題は2つのバージョンのpythonが同じマシンにインストールされているために発生します..Centosはpython 2.6 byデフォルトでyumを使用しますが、現在のシステムにデフォルトでインストールおよび使用されるpythonの別のバージョンがあります。そのため、次のメッセージが表示されます。

上記のモジュールがPythonの現在のバージョンである2.7.5(デフォルト、2013年9月3日、23:16:48)と一致しない可能性があります。

これを解決するには、pythonをyumが正しく機能するために依存しているバージョン2.6にリンクする必要があります。

最初にPythonを削除します

$ rm /usr/bin/python

リンクpython正しいバージョン2.6

$ ln -s /usr/bin/python2.6 /usr/bin/python

これは 良い記事 同じマシンに異なるバージョンのpythonをインストールする方法を説明しています。

6