sys.path 和 import 語句的關系是一個常見的Python問題。簡單來說,sys.path 是一個包含了解釋器可以查找模塊的所有路徑的列表,而 import 語句是用來導入模塊的命令。
當使用 import 語句時,Python解釋器會按照以下順序搜索模塊:
- 首先,它會在內置模塊(built-in modules)中查找,這些模塊是Python自帶的一些基礎功能,比如 sys, os, math 等。
- 其次,它會在 sys.path 列表中的路徑中查找,這些路徑包括:當前執行腳本的路徑(如果有的話)環境變量 PYTHONPATH 中指定的路徑(如果有的話)Python默認安裝路徑中的 site-packages 路徑,這裡通常存放第三方庫,比如 numpy, pandas, requests 等。
- 最後,如果沒有找到模塊,它會拋出 ModuleNotFoundError 的異常。
有時候,可能需要導入一些不在 sys.path 列表中的模塊,這時候你可以使用 sys.path.append(path) 的方法來添加模塊所在的路徑到 sys.path 列表中,這樣就可以讓解釋器找到你需要的模塊了。
![](https://news.xinpengboligang.com/upload/keji/69dc40abaa97d7561f448724ba0f14ad.jpeg)