python踩坑系列之導入包時下划紅線及報錯“No module named”問題


python踩坑系列之導入包時下划紅線及報錯“No module named”問題

使用pycharm編寫Python時,自己寫了一個包(commontool),在同級另一個路徑下(fileshandle)導入此包時,包名和模塊名下都有紅色下划線,運行程序報錯 “ ModuleNotFoundError: No module named 'commontool' ”,針對此問題的幾種解決辦法:

 

方法一:

  由於包和文件夾是有區別的,文件夾在創建時只會生成一個文件夾,不可以被導入。包在創建的時候會自動生成一個“ __init__.py ”的文件,這個文件定義了包的屬性和方法,所以包是可以被導入的。也可以在創建文件后,手動新建一個“ __init__.py ”文件。在包下“ __init__.py ”文件文件可以是空,但必須存在。所以要被導入,前提是類型必須是包類型。

 

 

方法二:

在 __init__.py文件中添加變量,如下:

__all__ = ["module_1","module_2","module_3"]

module為要該包下可以被導入的模塊。

 

 

方法三:

在 setting --> Project Structure 下將要被導入的設置為Sources

 

 

方法四:

1>如果要導入的包是在打開路徑的子目錄下,則可以直接進行導入,如下圖:

 

2>如果要導入的包是在項目的子目錄的子目錄下,也就是我這次遇到的情況,則要將包的父目錄設置成Sources。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM