Python eggs 已經被提出來很久了,但一直沒空去了解。今日因緣際會,開始了解 eggs 的運作方式,也意外發現 path configuration file 。
Path configuration file 是指 site-packages/ 底下的 .pth 檔案。這個檔案能讓你列出額外的 path ,並加入到 sys.path 。在 python 開始執行時,會執行 site.py 進行初始作的動作,其中包括 scan site-packages/ 目錄。如果在 site-packages/ 底下,發現任何 .pth 檔, site.py 都會將其視為 path configuration file 。
.pth 檔的內容,其實只是目錄列表,每一行一個目錄。假設有一檔案 foo.pth 如下:
foo bar
則 /path/to/python/site-packges/foo 和 /path/to/python/site-packages/bar 都會被加入 sys.path 裡。如此,放在這兩個目錄的 modules 和 packages ,都可被 import 。
更詳細的資料請參考 26.11 site -- Site-specific configuration hook 。