1. 程式人生 > >Python學習筆記(2)—搜尋路徑

Python學習筆記(2)—搜尋路徑

     wxPython是python 的GUI框架之一,目前來看還是比較好用,windows上可以直接訪問https://www.wxpython.org/下載對應的wxpython版本,安裝完成後在python中直接使用import wx語句呼叫模組即可,但是在mac上安裝就比較麻煩,往往會提示安裝失敗(讀者可自己嘗試一下:)),具體原因尚不清楚,而如果使用homebrew來安裝wxpython,系統自帶的python也不能立即呼叫,會提示找不到wx模組,比較簡單的方法是使用brew再下載一次python,這樣就自動將wxpython放在brew下載的python搜尋路徑下面了。雖然這樣能解決問題,但是為了更好的理解python,還是得就這個問題稍微深入地瞭解一下python的模組之間是如何工作。      提到python模組,首先就要說下import。傳統的C程式設計師如果對python沒有了解的話,會認為import和#include是一樣的,但其實不應該這麼比較,因為python中匯入並非只是把一個檔案文字插入另一個檔案中,匯入其實是執行時計算,程式第一次匯入指定檔案時,會執行三個步驟:      1、找到模組檔案      2、編譯成位碼      3、執行模組程式碼,形成需要的物件      這三個步驟只會在第一次匯入時才會進行,在這之後,匯入相同模組時會跳出這三個步驟,而只會從記憶體中載入相應的模組物件,下面主要對步驟一進行分析。      import一個模組後,python會從以下幾個路徑中進行搜尋:      1、程式的主目錄      2、PYTHONPATH目錄      3、標準連結庫目錄      4、任何.pth檔案的內容      而這四個地址組合起來就變成了sys.path,當發現import模組提示找不到時,就要通過sys.path檢視目前python搜尋路徑下是否包含該模組。      好了,那現在python無法找到wx庫的解決方法就呼之欲出了,一個是新增wx路徑到PYTHONPATH目錄中,或者新建*.pth檔案,將路徑放入其中。      第一種方法,在linux中可以命令:export PYTHONPATH=$PYTHONPATH:要新增的路徑  來實現      第二種方法,可以在python搜尋路徑下的任意資料夾中,新增一個*.pth檔案,將wx路徑新增其中      這兩種方法任選其一後,接下來的問題就是路徑該怎麼新增,或者說新增怎樣的路徑。這裡還是以wxpython為例子:      1、首先通過brew install wxpython下載相關元件      2、下載完成後,通過brew info wxpython檢視下載位置,筆者的下載位置如下:

     3、進入該目錄,找到lib目錄下的wx檔案,筆者電腦中位置如下:            4、將該路徑儲存在python的搜尋路徑下即可。            通過以上步驟,即可將wxpython放入python的搜尋路徑中了。通過以上步驟我們大概可知道兩點:      1、大部分需要包含模組的檔案位置,都在site-packages資料夾下面(讀者可自行使用sys.path命令來看當前python搜尋路徑,大部分路徑都包涵該資料夾)      2、路徑其實是需要包涵的模組的路徑