[英]How to import a module in another module from the same subpackage?
我的 package 樹如下:-
My_package
|
+--__init__.py (empty)
+--mainfile.py
+--main_modules
|
+--__init__.py (empty)
+--module1.py
+--module2.py
module2的內容:-
class Wish:
def greatings(self):
print("Hello World!")
wish = Wish()
當我嘗試從 module1 中的 module2 導入希望時:- module1 的內容:-
from module2 import wish
沒有錯誤。
但是當我在 mainfile.py 中導入兩個模塊時,mainfile.py 的內容:-
from main_modules import module1
from main_modules import module2
發生錯誤:-
Traceback (most recent call last):
File "c:\Users\amuly\AppData\Local\Programs\Python\PyProgs\Test package\main package\mainfile.py", line 1, in <module>
from main_modules import module1
File "c:\Users\amuly\AppData\Local\Programs\Python\PyProgs\Test package\main package\main_modules\module1.py", line 1, in <module>
from module2 import wish
ModuleNotFoundError: No module named 'module2'
這是問題的屏幕截圖:-屏幕截圖
我已經搜索了各種相關問題並盡我所能,但它不起作用
由於module1
和module2
在同一 package 級別上,您可以在module1.py
中簡單地執行此操作:
from module2 import wish
要從mainfile.py
導入module2.wish
,你可以這樣做:
from main_modules.module2 import wish
編輯 - 在module1.py
中,將導入語句更改為:
from main_modules.m2 import wish
使用main_modules.m2
會有所幫助,因為 function 調用是從mainfile.py
發生的。 因此,隨后調用的文件中的 import 語句將查看相對於mainfile.py
的導入。 我希望這是有道理的。
您必須刪除.
在from.module2 import wish
中,因為它們處於相同的 package 級別(正如@Sindhu Satish 已經指出的那樣)。
在您module1.py
文件中,您必須將您的導入語句更改為: from module2 import wish
它能夠工作。
我希望我能幫助你!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.