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