企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## **问题:** 设置了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. >>> 证实问题解决了。 ```