1. 程式人生 > >Python匯入包

Python匯入包

問題:一個資料夾c下的模組test要引用另一個包b裡面模組test2的函式add,如下圖

這裡寫圖片描述

解決辦法:經過前輩oyljerry等的指點迷津,要在sys.path新增包a的路徑,永久新增則在/usr/lib/python2.7/dist-packages新增一個pth檔案。如臨時新增測試,可以使用列表函式append把該路徑放入列表尾部即可。

為什麼不是包b的路徑呢?因為雖然a和b都是一個包,如新增包b的路徑到搜尋路徑列表,則python搜尋時先遇到a把它當作包處理,就不往裡面尋找,導致包b沒找到進而也不能新增到搜尋路徑列表

新增原因,python的搜尋路徑其實是一個列表,它是指匯入模組時,python會自動去找搜尋這個列表當中的路徑,如果路徑中存在要匯入的模組檔案則匯入成功,否則匯入失敗

解決過程
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

在pycharm裡面,用一個資料夾下的模組引用另外一個資料夾下的模組,可參考下面這篇文章

Pycharm+Python工程,引用子模組的方法

問題:一個資料夾c下的模組test要引用另一個包b裡面模組test2的函式add,如下圖