问题:
设置了Python的路径,但启动Python时老是报“ImportError: No module named site”这个错误。python
[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/pythonlinux
#-----------问题点-----------
[root@tZ game]# python
ImportError: No module named site python2.7
#----------查看问题点相关-----------
[root@tZ game]# find / -name site.py
/usr/lib64/python2.7/site.pyui
#---------当前错误状况下-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
#....更多信息未列出.net
#---------百度查看正常状况的-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 orm
看起来导入site时,还须要预编译的site.pyc文件。
基本认定是模块路径问题,致使找不到导入库模块。ip
解决:
查看Python路径相关环境变量的意义。get
PYTHONHOME:指定Python的标准库。
PYTHONPATH:用于扩充Python查找模块文件的路径。it
这里是导入site模块时出错,因此应该在PYTHONPATH上增长site模块的路径。io
查找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.
>>>
证明问题解决了。