python在import module的时候 是按照以下顺序去import一个module的:
1. 首先判断这个module是不是built-in即内建模块,
如果是则引入内建模块,如果不是则在一个称为sys.path的list中寻找
2. sys.path在python脚本执行时动态生成,包括以下3个部分:
a.脚本执行的位置,即当前路径
b.环境变量中的PYTHONPATH, 即.bash_profile
c.安装python时的依赖位置
['/home/work/wuxl/ownScript/pythonExe',
'/home/work/tmp',
'/home/work/local/python2.7/lib/python27.zip',
'/home/work/local/python2.7/lib/python2.7',
'/home/work/local/python2.7/lib/python2.7/plat-linux2',
'/home/work/local/python2.7/lib/python2.7/lib-tk',
'/home/work/local/python2.7/lib/python2.7/lib-old',
'/home/work/local/python2.7/lib/python2.7/lib-dynload',
'/home/work/local/python2.7/lib/python2.7/site-packages']
以上是运行时的sys.path值
其中第一个 pythonExe是本地路径
/home/work/tmp为我自己定义在环境变量中PYTHONPATH
所以从上面例子可以看出,python寻找module是按照以上顺序寻找的。