錯(cuò)誤 This inspection detects names that should resolve but don't. Due to dynamic dispatch and duck~~~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. 并不影響程序的正常運(yùn)行,但pycharm有下波浪線 問(wèn)題描述 pycharm顯示無(wú)法引用到的這些類(lèi),即使這些類(lèi)都在工程中,看看文件上方的import會(huì)發(fā)現(xiàn)對(duì)應(yīng)的模塊import不成功。 分析 既然這些類(lèi)都在工程中,那么import不成功就是因?yàn)槁窂經(jīng)]對(duì)應(yīng),事實(shí)上是pycharm默認(rèn)該項(xiàng)目的根目錄為source目錄,所以import使用絕對(duì)路徑而不是相對(duì)路徑的話(huà),就會(huì)從項(xiàng)目的根目錄中查找,而不是我們希望的其中的/src目錄,所以import不成功。 解決方法 from ...package import * 第一個(gè).表示當(dāng)前目錄,后面的每一個(gè)’.’表示上一層目錄。用相對(duì)目錄可以保證import成功,但是不建議這種寫(xiě)法,因?yàn)槿绻?dāng)前這個(gè)文件要移動(dòng)到其他包的話(huà),就要改很多地方了,當(dāng)然,使用相對(duì)路徑表示可以隨意更改包名,只要保證 將放package的文件夾設(shè)置為source,這樣import的模塊類(lèi)等,就是通過(guò)這些source文件夾作為根路徑來(lái)查找,也就是在這些source文件夾中查找import的東西。 pycharm顯示無(wú)法引用到的這些類(lèi),即使這些類(lèi)都在工程中,看看文件上方的import會(huì)發(fā)現(xiàn)對(duì)應(yīng)的模塊import不成功。 既然這些類(lèi)都在工程中,那么import不成功就是因?yàn)槁窂經(jīng)]對(duì)應(yīng),事實(shí)上是pycharm默認(rèn)該項(xiàng)目的根目錄為source目錄,所以import使用絕對(duì)路徑而不是相對(duì)路徑的話(huà),就會(huì)從項(xiàng)目的根目錄中查找,而不是我們希望的其中的/src目錄,所以import不成功。 改成相對(duì)路徑 在pycharm中設(shè)置source路徑 file–>setting(或者ctrl+alt+s)–>project structure 將放package的文件夾設(shè)置為source,這樣import的模塊類(lèi)等,就是通過(guò)這些source文件夾作為根路徑來(lái)查找,也就是在這些source文件夾中查找import的東西。 ![]() |
|
|
來(lái)自: 夢(mèng)寒與鎖夢(mèng) > 《Pycharm》