博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python程序启动过程报错的排错一般步骤
阅读量:4041 次
发布时间:2019-05-24

本文共 2407 字,大约阅读时间需要 8 分钟。

问题:

设置了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.

证实问题解决了。

转载于:https://my.oschina.net/lilinzero/blog/3038990

你可能感兴趣的文章
Java中数字转大写货币(支持到千亿)
查看>>
Java.nio
查看>>
函数模版类模版和偏特化泛化的总结
查看>>
VMware Workstation Pro虚拟机不可用解决方法
查看>>
最简单的使用redis自带程序实现c程序远程访问redis服务
查看>>
redis学习总结-- 内部数据 字符串 链表 字典 跳跃表
查看>>
iOS 对象序列化与反序列化
查看>>
iOS 序列化与反序列化(runtime) 01
查看>>
iOS AFN 3.0版本前后区别 01
查看>>
iOS ASI和AFN有什么区别
查看>>
iOS QQ侧滑菜单(高仿)
查看>>
iOS 扫一扫功能开发
查看>>
iOS app之间的跳转以及传参数
查看>>
iOS __block和__weak的区别
查看>>
Android(三)数据存储之XML解析技术
查看>>
Spring JTA应用之JOTM配置
查看>>
spring JdbcTemplate 的若干问题
查看>>
Servlet和JSP的线程安全问题
查看>>
GBK编码下jQuery Ajax中文乱码终极暴力解决方案
查看>>
Oracle 物化视图
查看>>