【发布时间】:2017-11-17 01:35:07
【问题描述】:
我已经搜索过这个并找到了很多答案,所有这些都告诉我要做我正在做的事情,这是我的目录结构:
app/
+-- __init__.py
+-- app_manager.py
+-- app_gui/
| +-- __init__.py
| +-- app_gui.py
在 app_gui.py 我有:
import tkinter as tk
from tkinter import ttk
from app_manager import AppManager
在应用管理器中:
class AppManager():
def __init__(self):
""" default constructor for app manager """
在 Visual Code 中,它实际上将其解析为自动完成,这告诉我至少 Visual Code 认为它已正确完成。但是,如果我运行它,我会收到以下错误:
ModuleNotFoundError: No Module named "app_manager"
编辑
更改为from app.app_manager import AppManager 时的完整堆栈跟踪:
Traceback (most recent call last):
File ".\app_gui\app_gui.py", line 4, in <module>
from app_manager import AppManager
ModuleNotFoundError: No module named 'app_manager'
【问题讨论】:
-
你的
__main__在哪里? -
@Mark 我试过把它放在 app_gui 和 app_manager 中,都给我同样的错误,子包不能导入任何东西(即使它们在同一个目录中)
-
在你的搜索中你读过Relative imports for the billionth time吗?