(請先看這篇文章:https://blog.csdn.net/GenuineMonster/article/details/104495419)? ? ? ?
如果看完這篇博文,你的問題還是沒有解決,那么加我的公眾號,后臺發消息給我吧!當天回復!
? ? ? ?很久很久以前,為了便于管理代碼,我將多個大類保存于不同的py文件中,在使用對應類時進行引入、實例和調用。但是總會在導入包時,發現自己寫的包下面會有紅色波浪線(錯誤), 并且在使用包里的類及類的方法時,名稱都得手敲,沒有一點提示。所以,和大家分享一下,如何正常使用自己寫的包。
? ? ? ?大家都知道,Python編譯器在遇到import語句時,會去尋找對應的包文件,一說“找”,就必須知道包的位置,知道位置才能尋找。這已經很接近問題的發生原因了:這條紅色波浪線就是Python找不到或者找不準你提到的包文件。以Pycharm為例,每一個項目都有一個項目文件夾,里面有包含虛擬環境的文件夾及創建的py文件,當我們使用import時,默認從根目錄,也就是source root處開始尋找我們導入的包文件,如果你的包文件恰好在這一目錄下,那么,恭喜你,紅色波浪線不會出現。如果,你的包文件不在當前目錄下,而是在某個子目錄下,所以你就在這看我寫的博文了。點贊再看,肯定能看懂!
? ? ? ?所以,不用我說,解決紅色波浪線的方法就是讓Python找到我們使用的包。通過網上學習,我找到了以下兩種方法:
1、打開有問題的項目,在Pycharm中,右擊你的目錄名,點擊“Mark Directory As” ---> "Sources Root"。但是要確保你選擇后的根目錄里確實有你要導入的包,要不然設置根目錄干啥。
2、第二種方法類似于相對路徑了,在包的面前加一個點,如下圖所示:
from .robby import rubbs
加這個點就是為了告訴Python編譯器,導入的包文件位于同級目錄。
建議:直接在根目錄創建py文件就可以了,別創建多個文件,花里胡哨的,最后把自己也搞暈(其實我最初遇到這個問題就是因為自己暈了,把要導入的包文件刪掉了)
?