簡體   English   中英

導入在 Python 中導入另一個模塊的模塊

[英]Importing module that imports another module(s) in Python

我目前正在嘗試重寫一個舊的應用程序,因為首先,我想稍微清理一下結構。 我在導入模塊時遇到了問題,我已經用盡了在網絡上找到的幾個選項,所以是時候尋求幫助了。

相關結構為:

root/
   __init__.py
   app.py
   interface/
      __init__.py
      darkMotive.py
      mainWindow.py

應用程序

import interface.mainWindow

if __name__ == "__main__":
    root = tk.Tk()
    main = mainWindow(root)
    title = root.title("app")
    main.pack(side="top", fill="both", expand=True)
    root.mainloop()

主窗口.py

import darkMotive
import tkinter as tk

class mainWindow(tk.Frame):
    def __init__(self, *args, **kwargs):
    [rest of the code]

黑暗動機.py

import tkinter as tk
[other classes definitions]

我的問題是,當我嘗試運行 app.py 時,出現此錯誤:

Traceback (most recent call last):
  File "X:/x/xxx/app.py", line 2, in <module>
    import interface.mainWindow
  File "X:\x\xxx\interface\mainWindow.py", line 1, in <module>
    import darkMotive
ModuleNotFoundError: No module named 'darkMotive'

但是當我單獨運行 mainWindow.py 時,它可以工作。
我做錯了什么? 你能指出我正確的方向嗎? 模塊darkMotive 不應該與mainWindow 一起導入app.py 的命名空間嗎?

這不符合評論,但是您可以嘗試以下操作嗎?

主窗口.py

from interface import darkMotive

應用程序

from interface.mainWindow import mainWindow

您可能想要重命名mainWindow.py ,因為它與類名沖突。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM