您的位置:首页 > 编程语言 > Python开发

解决问题:启动Python时报“ImportError: No module named site”错误

2015-04-26 22:38 661 查看
问题:
设置了Python的路径,但启动Python时总是报“ImportError: 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: No module named site  

#----------查看问题点相关-----------
[root@tZ game]# find / -name site.py

/usr/lib64/python2.7/site.py

#---------当前错误情况下-v的显示----------
[root@tZ etc]# python -v

# installing zipimport hook

import zipimport # builtin

# installed zipimport hook

ImportError: No module named site

# clear __builtin__._

# clear sys.path

# clear sys.argv

# clear sys.ps1

#....更多信息未列出

#---------百度查看正常情况的-v显示---------
# python -v

 # installing zipimport hook 

import zipimport # builtin 

# installed zipimport hook 

# /usr/lib/python2.7/site.pyc matches /usr/lib/python2.7/site.py 
import site # precompiled from /usr/lib/python2.7/site.pyc #----------------差别之处

# /usr/lib/python2.7/os.pyc matches /usr/lib/python2.7/os.py 

import os # precompiled from /usr/lib/python2.7/os.pyc 

import errno # builtin 

import posix # builtin 

看起来导入site时,还需要预编译的site.pyc文件。
基本认定是模块路径问题,导致找不到导入库模块。

解决:
查看Python路径相关环境变量的意义。

PYTHONHOME:指定Python的标准库。

PYTHONPATH:用于扩充Python查找模块文件的路径。

这里是导入site模块时出错,所以应该在PYTHONPATH上增加site模块的路径。

查找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

增加路径到环境变量:
export PYTHONPATH=$PYTHONPATH:/usr/lib64/python2.7

检查效果:
[root@tZ etc]# python -v

# installing zipimport hook

import zipimport # builtin

# installed zipimport hook

# /usr/lib64/python2.7/site.pyc matches /usr/lib64/python2.7/site.py

import site # precompiled from /usr/lib64/python2.7/site.pyc

# /usr/lib64/python2.7/os.pyc matches /usr/lib64/python2.7/os.py

说明已经解决。

直接启动Python试试:
[root@tZ etc]# python

Python 2.7.5 (default, Jun 17 2014, 18:11:42)

[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>>

证实问题解决了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息