解決Python中導(dǎo)入自己寫的類,被劃紅線,但不影響執(zhí)行的問題
1. 錯誤描述
之前在學(xué)習(xí)Python的過程中,導(dǎo)入自己寫的包文件時,與之相關(guān)的方法等都會被劃紅線,但并不影響代碼執(zhí)行,如圖:
看著紅線確實有點強(qiáng)迫癥,并且在這個過程當(dāng)時,當(dāng)使用該文件里的方法時不會自動提示方法名,只能靠手全部輸入,這種容易造成手誤,對于小白特別容易降低編寫效率
2. 原因分析
pycharm中,source root概念非常重要,當(dāng)你在代碼中寫相對路徑的時候,就是以source root為起點進(jìn)行查詢。
而pycharm中,當(dāng)前的項目文件夾 是默認(rèn)的source root,當(dāng)你使用import語句導(dǎo)入模塊時,Pycharm默認(rèn)在project folder中尋找;
所以當(dāng)你在project folder下的某個subfolder導(dǎo)入某個同樣定義在這個subfolder中的模塊時,會出現(xiàn)導(dǎo)入錯誤。
3. 解決方案
問題已經(jīng)找到了,pycharm不會將當(dāng)前文件目錄自動加入自己的sourse_path。所以我們要告訴pycharm就行了。下面有兩種方法(3.1和3.2),都能比較方便的解決問題:
3.1 加一個“點”
第一種方法非常簡單,只需要在models前加一個點。表示,告訴pycharm我要引用的模塊位于同級目錄。
例如:
from models import className
修改為:
from .models import className
就可以不報錯了
3.2 添加“當(dāng)前目錄”
第二種方法:
既然,pycharm不會將當(dāng)前文件目錄自動加入自己的sourse_path。那么我們就手動告訴他。
右鍵目錄名 點擊make_directory as --> sources path 將當(dāng)前工作的文件夾加入source_path就可以了。步驟如下圖:
以上這篇解決Python中導(dǎo)入自己寫的類,被劃紅線,但不影響執(zhí)行的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
