システムで yum が失敗し No module named yum エラーが発生する

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux (RHEL)

Issue

  • yum update を実行すると "No module named yum" エラーが発生します。
  • "sosreport" を実行すると失敗し、"No module named os" が発生します。

Resolution

  • PYTHONHOME 変数の設定を解除します。
    # unset PYTHONHOME

永続的に変更する場合は、root の .bashrc または .bash_profile にあるエントリーを削除します。

  • 以下のコマンドを実行して python パッケージを再インストールします。
      # rpm -Uvh --replacefiles --replacepkgs python-<version>.rpm

Root Cause

  • PYTHONHOME 変数がシステムの環境変数として設定されました。
  • Python ライブラリまたはファイルが変更されました。これは rpm -Va コマンドの出力で確認できます。
  • サードパーティの python モジュールがシステムにインストールされています。これは "ldd /usr/bin/python" コマンドの出力で確認できます。
  • rpm-python* パッケージがインストールされていません。

Diagnostic Steps

# sosreport 

'import site' failed; use -v for traceback 
Traceback (most recent call last): 
  File "/usr/sbin/sosreport", line 29, in ? 
    import os 
ImportError:No module named os 

# yum -d10 update
'import site' failed; use -v for traceback 
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.4.3 (#1, Jul 16 2009, 06:20:46) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] 

If you cannot solve this problem yourself, please go to 
the yum faq at: 
  http://wiki.linux.duke.edu/YumFaq  

以下の詳細をシステムから収集します。

# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH}\n" | sort > /tmp/rpm-list
# ldd /usr/bin/python

Strace command output
# strace -fxvto /tmp/strace.out yum update 

# which python
# env > /tmp/env.out 
# rpm -qf `which yum`
# rpm -Va > /tmp/rpm_va

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.