1. ホーム
  2. Python

問題解決しました。Pythonを起動しても「ImportError: No module named site" というエラーでPythonを起動する。

2022-02-07 21:07:51

質問です。
Pythonへのパスを設定しましたが、いつもエラー "ImportError が発生します。Pythonを起動すると、No module named site"というエラーが出ます。

 [root@tZ game]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/lib/python2.7:. :/usr/lib/python2.7:/usr/lib/python2.7/site-packages:/usr/bin/python:/usr/lib64/python2.7。
[root@tZ game]# echo $PYTHONHOME
/usr/bin/
[root@tZ game]# echo $PYTHONPATH
/usr/bin/
[root@tZ game]# whereis python
pythonです。/usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /usr/include/python2.7 /usr/share/man/man1/python.1. gz
[root@tZ game]# which python
/usr/bin/python

#----------- 質問のポイント -----------
[root@tZ game]# python
ImportError: site という名前のモジュールがありません  

#---------- ビュー・イシュー・ポイント関連 -----------。
[root@tZ game]# find / -name site.py
/usr/lib64/python2.7/site.py

#--------- 現在のエラーケース -v の表示 ---------- です。
[root@tZ etc]# python -v
# zipimportフックのインストール
zipimport をインポートする # 組み込み
# インストールされた zipimport フック
ImportError: site という名前のモジュールがありません。
# clear __builtin__. _
# sys.path をクリアする
# sys.argvをクリア
# sys.ps1 をクリアする
# .... 記載されていない詳細情報

#--------- Baiduビューの通常表示 -v 表示の場合 ---------...
# python -v
 # zipimportフックをインストールする 
zipimport をインポートする # 組み込み 
# インストールされた zipimport フック 
# /usr/lib/python2.7/site.pyc は /usr/lib/python2.7/site.py にマッチします。 
import site # precompiled from /usr/lib/python2.7/site.pyc #---------------- 差分
# /usr/lib/python2.7/os.pyc は /usr/lib/python2.7/os.py にマッチします。 
import os # precompiled from /usr/lib/python2.7/os.pyc 
インポート errno # ビルトイン 
import posix # 組み込み 

サイトをインポートする際に、コンパイル済みのsite.pycファイルも必要なようです。
基本的には、モジュールパスの問題で、インポートしたライブラリモジュールが見つからないと想定されます。


解決策
Pythonのパスに関連する環境変数の意味を確認する。

PYTHONHOME。Pythonの標準ライブラリを指定します。
PYTHONPATH: Pythonのルックアップモジュールファイルを展開するためのパス。

ここでは、siteモジュールのインポート時にエラーが発生するため、PYTHONPATHにsiteモジュールのパスを追加する必要があります。

サイト関連ファイルを探すためのパス。
[root@tZ etc]# find / -name site.py*.
/usr/lib64/python2.7/site.pyc
/usr/lib64/python2.7/site.py
/usr/lib64/python2.7/site.pyo
環境変数にパスを追加します。
エクスポート PYTHONPATH=$PYTHONPATH:/usr/lib64/python2.7

の効果を確認する。
[root@tZ etc]# python -v
# zipimportフックのインストール
zipimport をインポートする # 組み込み
# インストールされた zipimport フック
# /usr/lib64/python2.7/site.pyc は /usr/lib64/python2.7/site.py にマッチします。
import site # precompiled from /usr/lib64/python2.7/site.pyc
# /usr/lib64/python2.7/os.pyc は /usr/lib64/python2.7/os.py にマッチします。
解決済みであることを示す。

で直接Pythonを起動してみてください。
[root@tZ etc]# python
Python 2.7.5 (デフォルト, 2014年06月17日 18時11分42秒)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2
詳細は "help", "copyright", "credits" または "license" と入力してください。
>>>

問題が解決されたことを確認します。