標籤:列表 安裝 資料 import 使用者 zha 建立 targe 是什麼
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,因此,在開啟Eclipse
時,它檢測到了更改,就提示使用者使用新的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發生改變