1. 程式人生 > >Python開發環境(2):啟動Eclipse時檢測到PYTHONPATH發生改變

Python開發環境(2):啟動Eclipse時檢測到PYTHONPATH發生改變

工程 新的 “.” ase 窗口 什麽 程序 apply pri

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發生改變