Python 的 sys.path 是從哪裡初始化的?
Python 精心設計 sys.path 來為模組和套件提供強大的搜尋路徑。初始化過程涉及各種步驟和注意事項。
確定 sys.path 的步驟:
-
確定 sys.executable: Python 辨識它來自作業系統的絕對路徑。此路徑變為sys.executable。
-
建立sys.exec_prefix和sys.prefix:
- 檢查同一個或父級中的pyvenv.cfg sys.executable 的目錄。
- 使用已設定的 home 值或 sys.executable 的目錄作為 sys.prefix。
- 檢查 PYTHONHOME 環境變數。
- 搜尋地標檔案(例如 lib/python/os.py)來確定 sys.exec_prefix 和 sys.prefix。
-
設定sys.path:
- 將腳本目錄加入到Linux/Macpath(在Linux/Mac 上) 。
- 包含 PYTHONPATH 的內容。
- 新增 Python zip 檔案。
- 包含相關登錄項目的路徑(僅限 Windows,除非 pyvenv.cfg 中 applocal = true)。
-
編譯時和動態值:
- 新增PYTHONPATH 巨集中指定的路徑(相對於sys.prefix) 。
- 包含sys.exec_prefix(在Linux/Mac 中)或sys.prefix 目錄(在Windows 中) ).
-
後綴確定:
- 如果無法確定sys.prefix,則在內部動態搜尋它sys.path.
-
站點包導入:
- 導入站台模組,該模組進一步填入基於sys.path 的在sys.prefix 和sys.exec_prefix 上。
以上是Python 的 `sys.path` 是如何初始化的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!