1.錯誤描述
之前在學習python的過程中,導入自己寫入的包文件時。from 自己寫的類,會發現沒有彈出選擇。並且全輸入類名稱后會發現類名與相關導入的方法會爆紅。如圖:
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.3),都能比較方便的解決問題:
3.1 加一個“點”
這種方法試用於在方法在同級目錄
例如:
3.2 寫入類所在文件名+“點”
這種方法適用於類在非同級目錄下
例如:
3.3 添加“當前目錄”
這種方法也是我后面把家里代碼帶到公司打開報錯之后才發現的。
既然,pycharm不會將當前文件目錄自動加入自己的sourse_path。那么我們就手動告訴他。
右鍵目錄名 點擊make_directory as --> sources path 將當前工作的文件夾加入source_path就可以了。步驟如下圖: