当我尝试运行我的 pyqt5 应用程序时,编译器会抛出此回溯并出现几个错误:
Traceback (most recent call last):
File "d:\College\stuff\proj\simulation_proj\app.py", line 3, in <module>
from gui.qt_py.main_window import MainWindow
File "d:\College\stuff\proj\simulation_proj\gui\qt_py\main_window.py", line 3, in <module>
from qt_py.simulation_window import SimulationWindow
ModuleNotFoundError: No module named 'qt_py'
我的项目结构如下:
模拟项目
> `app.py`
> - gui:
>> - qt_py:
>>> - `__init__.py`
>>> - `main_window.py`
>>> - `simulation_window.py`
我一直在做这个重要的句子:
# app.py
import sys
from PyQt5.QtWidgets import QApplication
from gui.qt_py.main_window import MainWindow
# main_window.py
from PyQt5.QtWidgets import QMainWindow
from PyQt5.uic import loadUi
from qt_py.simulation_window import SimulationWindow
# simulation_window.py
from PyQt5.QtWidgets import QWidget, QFileDialog
from PyQt5.QtGui import QStandardItem, QStandardItemModel
from PyQt5.uic import loadUi
问题是我遇到的问题是什么以及在像我这样的项目结构中管理导入语句的最佳方法是什么以按照我需要的方式运行
app.py
。
我尝试运行应用程序
app.py
,但在编译过程后收到 ModuleNotFoundError 。
我希望我的应用程序能够正常运行并从我需要的包中正确导入模块。
您的 qt_py 文件位于 gui 文件夹内。
您的导入应该是 absolute :
from gui.qt_py.simulation_window import SimulationWindow
或亲戚:
from .qt_py.simulation_window import SimulationWindow
注意“。”在“qt_py”之前,意味着导入是相对于您要导入的文件而言的。