Import etme sorunu

PyQt5 ile çalışınca QMainWindow sınıfı içeren bir .py dosyasından QWidget sınıfı içeren başka bir .py dosyasını import etmeye çalışıyorum fakat aşağıdaki hatayı alıyorum.Sorunu çözemedim yardımcı olur musunuz?

Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\Asus\Desktop\PYTHON\PyQt5 Dersleri\Farmakoloji\grup_init_.py", line 6, in <module>
    from __init__ import MainWindow
  File "C:\Users\Asus\Desktop\PYTHON\PyQt5 Dersleri\Farmakoloji\__init__.py", line 6, in <module>
    from grup_init_ import ilac_gruplari
ImportError: cannot import name 'ilac_gruplari' from 'grup_init_' (C:\Users\Asus\Desktop\PYTHON\PyQt5 Dersleri\Farmakoloji\grup_init_.py)

Farmakoloji altindaki dosyalari ve iceriklerini gormemiz lazim.

Dosyalarin icindeki def ve class'larin tamami silinebilir sanki, iyi de olur.

Silinebilir derken ne demek istediniz?

@aib’in dediği gibi Farmakoloji dizini altındaki dosyaları ve içeriklerini paylaşırsanız daha rahat yardım alabilirsiniz.

Tamam atıyorum kodları.
Bu init.py dosyası

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys

from grup_init_ import ilac_gruplari

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setUI()
        self.ust_ayarlar()

    def ust_ayarlar(self):
        self.setWindowTitle("Farmakloji İlaç Öğrenme")
        self.setFixedSize(QSize(500,600))
        self.move(QPoint(850,20))
        self.setStyleSheet("background:#f1ff92;")
        self.setWindowIcon(QIcon("ilaç_hafıza.jpg"))

    def setUI(self):
        widget = QWidget(self)
        self.setCentralWidget(widget)

        self.buttons()
        self.pixmap()
        self.layout1()


    def buttons(self):
        self.grup_buton = QPushButton("İlaç Grupları", self)
        self.grup_buton.clicked.connect(self.grup)
        self.ilac_buton = QPushButton("İlaçlar", self)
        self.ayar_buton = QPushButton("Ayarlar", self)
        self.buton_tasarım()


    def buton_tasarım(self):
        size = QSize(400,50)
        font = QFont("Helvetica",25,QFont.Bold)
        tasarım = "background:yellow"
        butonlar = [self.grup_buton,self.ilac_buton,self.ayar_buton]
        for i in butonlar:
            i.setFixedSize(size)
            i.setFont(font)
            i.setStyleSheet(tasarım)

    def pixmap(self):
        self.resim_label = QLabel(self)
        resim_pixmap = QPixmap("ilaç_hafıza.jpg")
        self.resim_label.setPixmap(resim_pixmap)

    def layout1(self):
        h_box1 = QHBoxLayout()
        h_box1.addStretch()
        h_box1.addWidget(self.grup_buton)
        h_box1.addStretch()

        h_box2 = QHBoxLayout()
        h_box2.addStretch()
        h_box2.addWidget(self.ilac_buton)
        h_box2.addStretch()

        h_box3 = QHBoxLayout()
        h_box3.addStretch()
        h_box3.addWidget(self.ayar_buton)
        h_box3.addStretch()

        v_box1 = QVBoxLayout(self.centralWidget())
        v_box1.addWidget(self.resim_label)
        v_box1.addLayout(h_box1)
        v_box1.addStretch()
        v_box1.addLayout(h_box2)
        v_box1.addStretch()
        v_box1.addLayout(h_box3)
        v_box1.addStretch()

        # self.centralWidget().setLayout(v_box1)


    def grup(self):
        self.setCentralWidget(ilac_gruplari())

app = QApplication(sys.argv)
pencere = MainWindow()
pencere.show()
app.exec_()```

Bu da grup_init_.py dosyası

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

from __init__ import  MainWindow

class ilac_gruplari(QWidget):

    def __init__(self):
        super().__init__()
        self.setUI()
        self.ust_ayarlar()

    def ust_ayarlar(self):
        self.setWindowTitle("Farmakloji İlaç Öğrenme")
        self.setFixedSize(QSize(500, 600))
        self.move(QPoint(850, 20))
        self.setStyleSheet("background:#f1ff92;")

    def setUI(self):
        widget = QWidget(self)


        self.buttons()

    def buttons(self):
        gruplar_listesi = ["Anti-Biyotikler","Anti-Hipertansiyonlar","Analjezikler","Anti-Epileptikler"]
        if 15 > len(gruplar_listesi) > 6:
            size = QSize(400, 30)
            font = QFont("Helvetica", 15, QFont.Bold)
        else:
            size = QSize(400, 50)
            font = QFont("Helvetica", 25, QFont.Bold)
        self.geri_buton = QPushButton("Geri",self)
        self.geri_buton.clicked.connect(self.geri)


        v_box = QVBoxLayout(self)
        v_box.addWidget(self.geri_buton)

        tasarım = "background:yellow"
        for i in gruplar_listesi:
            buton = QPushButton(i,self)
            buton.setObjectName(i)

            buton.setStyleSheet(tasarım)
            buton.setFont(font)
            v_box.addWidget(buton)

        self.analjezik_buton = self.findChild(QPushButton,"Analjezikler")
        self.analjezik_buton.clicked.connect(self.analjezik)

        self.antibiyotik_buton = self.findChild(QPushButton,"Anti-Biyotikler")
        self.antibiyotik_buton.clicked.connect(self.antibiyotik)

        self.antihipertansif_buton = self.findChild(QPushButton,"Anti-Hipertansiyonlar")
        self.antihipertansif_buton.clicked.connect(self.antihipertansif)

        self.antiepileptik_buton = self.findChild(QPushButton,"Anti-Epileptikler")
        self.antiepileptik_buton.clicked.connect(self.antiepileptik)

    def ekranı_temizle(self):
        self.geri_buton.hide()
        self.analjezik_buton.hide()
        self.antiepileptik_buton.hide()
        self.antibiyotik_buton.hide()
        self.antihipertansif_buton.hide()

    def analjezik(self):
        self.ekranı_temizle()
    def antibiyotik(self):
        self.ekranı_temizle()
    def antihipertansif(self):
        self.ekranı_temizle()
    def antiepileptik(self):
        self.ekranı_temizle()

    def geri(self):
        pass

    def stacked(self):
        self.ilac_listesi = QListWidget(self)```

grup_init_ ve __init__ birbirlerini import ediyor. importlar başta olduğu için henüz tanımlanmamış seyleri içe aktarmaya çalışıyorsunuz. İki modülün de birbirini import etmesi zaten saçma.

Evet haklısınız biraz saçma.Yapmak istediğim şey şu.Öncelikle bu kodların farklı dosyalarda olması kodların benim açımdan biraz daha rahat kontrol etmemi sağlar diye düşündüm.
grup_init.py dosyasında geri fonksiyonu ile init.py dosyasındaki MainWindow sınıfını tekrar çağırmak istedim fakat çağrıabilmem içinde import etmem gerekecek buda mümkün değil.Ne yapmalıyım?

MainWindow'un ayrı bir modülde olmasının ve gerekli yerlerde import edilmesinin bir sakıncası var mı?

herhangi bir sakıncası yok