Pycharm中無法匯入包問題:Unresolved reference 解決方法
阿新 • • 發佈:2019-01-07
問題描述
在專案E中存在資料夾F、G、H,F有資料夾a和b,在a中引入b的一個類,
a.py:
from b import fun
雖然執行成功,但是在Pycharm中顯示: Unresolved reference
例如:
在pycharm中經常會出現,顯示無法引用到的這些類,即使這些類都在工程中.
看檔案上方的import會發現對應的模組import不成功:
Unresolved reference 'ERROR_CODE_INPUT_ERROR' less... (Ctrl+F1) This inspection detects names that should resolve but don't. Due to dynamic dispatch and duck typin
分析
既然這些類都在工程中,那麼import不成功就是因為路徑沒對應,事實上是pycharm預設該專案的根目錄為source目錄,所以import使用絕對路徑而不是相對路徑的話,就會從專案的根目錄中查詢,而不是我們希望的其中的/src目錄,所以import不成功。
解決方法
改成相對路徑
from ...package import *
第一個.
表示當前目錄,後面的每一個’.’表示上一層目錄。用相對目錄可以保證import成功,但是不建議這種寫法,因為如果當前這個檔案要移動到其他包的話,就要改很多地方了,當然,使用相對路徑表示可以隨意更改包名。在pycharm中設定source路徑
file–>setting–>project:server–>project structure
將放package的資料夾設定為source,這樣import的模組類等,就是通過這些source資料夾作為根路徑來查詢,也就是在這些source資料夾中查詢import的東西。
方法二:
1. 將F資料夾 設定為source
2. 確保將soucers加入到PYTHONPATH: