1. 程式人生 > 程式設計 >解決Python中匯入自己寫的類,被劃紅線,但不影響執行的問題

解決Python中匯入自己寫的類,被劃紅線,但不影響執行的問題

1. 錯誤描述

之前在學習Python的過程中,匯入自己寫的包檔案時,與之相關的方法等都會被劃紅線,但並不影響程式碼執行,如圖:

解決Python中匯入自己寫的類,被劃紅線,但不影響執行的問題

看著紅線確實有點強迫症,並且在這個過程當時,當使用該檔案裡的方法時不會自動提示方法名,只能靠手全部輸入,這種容易造成手誤,對於小白特別容易降低編寫效率

2. 原因分析

pycharm中,source root概念非常重要,當你在程式碼中寫相對路徑的時候,就是以source root為起點進行查詢。

而pycharm中,當前的專案資料夾 是預設的source root,當你使用import語句匯入模組時,Pycharm預設在project folder中尋找;

所以當你在project folder下的某個subfolder匯入某個同樣定義在這個subfolder中的模組時,會出現匯入錯誤。

3. 解決方案

問題已經找到了,pycharm不會將當前檔案目錄自動加入自己的sourse_path。所以我們要告訴pycharm就行了。下面有兩種方法(3.1和3.2),都能比較方便的解決問題:

3.1 加一個“點”

第一種方法非常簡單,只需要在models前加一個點。表示,告訴pycharm我要引用的模組位於同級目錄。

例如:

from models import className

修改為:

from .models import className

就可以不報錯了

3.2 新增“當前目錄”

第二種方法:

既然,pycharm不會將當前檔案目錄自動加入自己的sourse_path。那麼我們就手動告訴他。

右鍵目錄名 點選make_directory as --> sources path 將當前工作的資料夾加入source_path就可以了。步驟如下圖:

解決Python中匯入自己寫的類,但不影響執行的問題

以上這篇解決Python中匯入自己寫的類,但不影響執行的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。