システムで yum が失敗し No module named yum エラーが発生する
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.
Comments