ImportError: cannot import name 'Class_name2'

ImportError: cannot import name 'Class_name2'

和其他许多人一样,我遇到了以下问题:ImportError

我已经检查了很多解决方案,它们都与 pip 和其他安装和卸载方式有关 packages/modules。

在我的例子中,除了 PySide2,我只使用我自己的模块,由于这个错误,我根本无法导入其中一个。我没有看到任何可能导致此问题的特别情况,经过几个小时的搜索后,我需要您的帮助!

主包的开头 main_window.py 看起来像这样:

from PySide2 import QtWidgets, QtGui, QtCore

from package_name1 import Class_name1

from package_name2 import Class_name2

class MainWindow(QtWidgets.QWidget):
    def __init__(self, ctx):
        super().__init__()
        self.ctx = ctx
        self.resize(1200, 1000)
        self.setWindowTitle("APP NAME")
        self.setup_ui() 
        ...

这里出现问题的另一个包,package_name2。Class_Name2 看起来像这样:

from package_name1 import Class_name1

from main_window import MainWindow

class Class_name2(Class_name1, MainWindow):    

    def method_1(self):
        variable_1 = self.variable_1
        variable_2 = self.variable_2
        variable_3= self.variable_3
        ...

Class_name2 继承自 Class_name1MainWindow 因为它需要位于每个变量和方法。

如果您需要更多详细信息,请告诉我,在此先感谢您的帮助!

发生此错误可能是因为循环导入错误:

您正在 package_name2.Class_Name2 中从 main_window.py 导入 MainWindow,并将 Class_Name2 导入到 main_window.py.

为避免这种情况,您可以简单地创建另一个文件来处理所有导入对象并将它们导出到其他文件