Python開發環境(2):啟動Eclipse時檢測到PYTHONPATH發生改變
OS:Windows 10家庭中文版,Eclipse:Oxygen.1a Release (4.7.1a),PyDev:6.3.2
4月25日,在Eclipse上安裝了PyDev(前面博文有記錄),並開發了一個Python工程,當時並未嘗試用之開發Django工程;
5月 2日,利用下載的Django安裝包,在Python 3.6中安裝了Django 2.0.3;
5月 5日(TODAY),打開Eclipse時彈出下面的窗口,提示“System PYTHONPATH changes detected”
原因,我在安裝PyDev後才安裝了Django,並且安裝Django更改了Python的環境變量PYTHONPATH
時,它檢測到了更改,就提示用戶使用新的PYTHONPATH。
默認全選,直接點擊按鈕“Apply selected changes”即可。
不更改會有什麽問題呢?或許某些新安裝的Python模塊無法使用吧!(需要進行試驗)
PYTHONPATH是什麽?
Python程序導入(import)模塊時的搜索路徑之一,排在第二,由一些路徑組成。
可以通過print(sys.path)或者print(os.sys.path)得到PYTHONPATH的值。
疑問:os模塊、sys模塊有什麽區別呢?使用時是否需要import呢?
Python的import模塊搜索順序:
1.程序主目錄
2.PYTHONPATH中的目錄
標準庫目錄和第三方目錄(比如本文說到的Django的目錄)
3.任何能夠找到的.pth文件?
參考:Python模塊搜索路徑
我的site.getsitepackages()返回結果為:
4.第三方擴展的site-packages目錄
即Python主目錄下lib目錄下的site-packages(已存在於PYTHONPATH中)。
註意,在上面的目錄中找到了就不再找了,找不到就會產生導入異常,並且,只搜索指定的目錄,不會遞歸搜索(進入
上面目錄下面的目錄)。
註意,Windows優先搜索“.”目錄,即當前路徑,而Linux只會從環境變量的路徑中去挨個找(Unix呢?Linux還需驗證
路徑的類型:
1.普通路徑
e.g. C:\\Python36\\lib
2.字典
e.g. ?
3.ZIP文件
e.g. C:\\Python36\\python36.zip
4.egg文件(Python egg,蟒蛇蛋)
e.g. C:\\Python36\\lib\\site-packages\\django-2.0.3-py3.6.egg
說明,.egg文件,是由setuptools庫創建的包,添加了元數據(版本號、依賴項等)的zip文件。
參考鏈接:
Python環境變量PYTHONPATH設置
Python 模塊化 模塊搜索順序、重復導入、模塊加載列表(五)
Python模塊搜索路徑
Python開發環境(2):啟動Eclipse時檢測到PYTHONPATH發生改變