PYTHON中寻找MODULE的顺序

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是按照以上顺序寻找的。

你可能感兴趣的:(python)