PyCharm——導入模塊時提示Unresolved Reference解決方案

源代碼 

from turtle import *
setup(800, 800)
pensize(2)
circle(100)
color('red','yellow')
begin_fill()
while True:
    forward(200)
    left(170)
    if abs(pos()) < 1:
        break
end_fill()
done()


問題描述

在開發過程,在PyCharm中導入模塊時提示經常出現Unresolved Reference問題。

紅線並提示Unresovled reference, 雖然運行沒有問題,但看着很不舒服。

Unresolved reference 'left' less... (Ctrl+F1) 
This inspection detects names that should resolve but don't. Due to dynamic dispatch and duck typing, this is possible in a limited but useful number of cases. Top-level and class-level items are supported better than instance items.

問題分析 

既然這些類都在工程中,那麼import不成功就是因爲路徑沒對應,事實上是pycharm默認該項目的根目錄爲source目錄,所以import使用絕對路徑而不是相對路徑的話,就會從項目的根目錄中查找,而不是我們希望的其中的/src目錄,所以import不成功。 

解決方案

  • 改成相對路徑 
from ...package import * 

第一個'.'表示當前目錄,後面的每一個’.’表示上一層目錄。用相對目錄可以保證import成功,但是不建議這種寫法,因爲如果當前這個文件要移動到其他包的話,就要改很多地方了,當然,使用相對路徑表示可以隨意更改包名,只要保證包名和相對路徑正確,就可以運行。

  • 在pycharm中設置source路徑

1. 進入PyCharm->File–>Preferences->Project:Server–>Project Structure

2. 將放Package的文件夾設置爲source,這樣import的模塊類等,就是通過這些source文件夾作爲根路徑來查找,也就是在這些source文件夾中查找import的東西;

3. 點擊Apply和OK;

4.清除緩存並重啓。

參考文章 

https://www.cnblogs.com/xiaohuamao/p/6903030.html

https://blog.csdn.net/u014496330/article/details/55211398

http://stackoverflow.com/questions/21236824/unresolved-reference-issue-in-pycharm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章