Blue Life
Kilopat
- Katılım
- 24 Aralık 2014
- Mesajlar
- 446
Daha fazla
- Cinsiyet
- Erkek
Merhaba.
Python projemde aşağıdaki hatayı alıyorum. Çözümü bulamadım.
ImportError: attempted relative import beyond top-level package
Aşağıdaki şekilde bir soruya denk geldim ama anlatılmak istenen şeyi anlamadım.
beyond top level package error in relative import
Bu konuda yardımcı olabilir misiniz?
Kodlarım
[CODE lang="python" title="Python"]NOTLAR
1 - design_ui klasöründe .ui uzantılı tasarım dosyaları vardır.
2 - ui klasöründe .ui uzantılı dosyaların .py uzantısına çevrilmiş halleri vardır.
3 - py klasöründe programın class dosyaları vardır. Tasarımlar ui klasöründen import edilmektedir.
4 - main.py dosyası tasarımını direkt olarak ui klasöründen import edilmektedir.
ALDIĞIM HATA
#####################################################################################################
C:\Python\python.exe C:/PythonLearning/Projeler/GelismisKutuphaneSistemi/main.py
Traceback (most recent call last):
File "C:\PythonLearning\Projeler\GelismisKutuphaneSistemi\main.py", line 4, in <module>
import py.UyeEkle
File "C:\PythonLearning\Projeler\GelismisKutuphaneSistemi\py\UyeEkle.py", line 2, in <module>
from ..sql.Sql import *
ImportError: attempted relative import beyond top-level package
Process finished with exit code 1
#####################################################################################################
----------------------------------------------
ANA DİZİN main.py
----------------------------------------------
import sys
from sql.Sql import *
import py.UyeEkle
import py.KitapEkle
import py.OduncKitaplar
from PyQt5.QtWidgets import *
from ui.Kutuphane import *
class Pencere(QMainWindow,Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.Init_Ui()
self.KitaplariListele()
def Init_Ui(self):
self.actionUyeEkle.triggered.connect(self.UyeEkle)
self.actionKitapEkle.triggered.connect(self.KitapEkle)
self.actionOduncKitap.triggered.connect(self.OduncKitapVer)
self.show()
def UyeEkle(self):
self.uyeEkle = py.UyeEkle.Uye()
self.uyeEkle.show()
def KitapEkle(self):
self.kitapEkle = py.KitapEkle.Kitap()
self.kitapEkle.show()
def OduncKitapVer(self):
self.oduncKitap = py.OduncKitaplar.OduncKitap()
self.oduncKitap.show()
def main():
uygulama = QApplication(sys.argv)
pencere = Pencere()
sys.exit(uygulama.exec_())
if __name__ == "__main__":
main()
----------------------------------------------
py KLASÖRÜ UyeEkle.py
----------------------------------------------
import sys
from ..sql.Sql import *
from PyQt5.QtWidgets import *
from ..ui.UyeKayit import *
class Uye(QDialog,Ui_Dialog):
def __init__(self):
super(Uye,self).__init__()
self.setupUi(self)
self.Init_Ui()
def Init_Ui(self):
self.pushButtonKaydet.clicked.connect(self.UyeKayit)
self.pushButtonKapat.clicked.connect(self.Kapat)
def UyeKayit(self):
pass
def Kapat(self):
self.close()
----------------------------------------------
sql KLASÖRÜ Sql.py
----------------------------------------------
import sqlite3
dbconnect = sqlite3.connect("sql/GelismisKutuphaneSistemi.db")
db = dbconnect.cursor()
def UyeEkle(uye_adisoyadi, uye_telefonu):
db.execute("INSERT INTO uyeler (uye_adisoyadi, uye_telefonu) VALUES (?,?)", (uye_adisoyadi, uye_telefonu))
dbconnect.commit()
def KitapEkle(kitap_adi, kitap_yazari, kitap_aciklamasi, kitap_sayfasayisi, kitap_dili):
db.execute("INSERT INTO kitaplar (kitap_adi, kitap_yazari, kitap_aciklamasi, kitap_sayfasayisi, kitap_dili) VALUES (?,?,?,?,?)",(kitap_adi, kitap_yazari, kitap_aciklamasi, kitap_sayfasayisi, kitap_dili))
dbconnect.commit()
def KitaplariListele():
kitaplar = db.execute("SELECT kitap_id, kitap_adi, kitap_yazari, kitap_sayfasayisi, kitap_dili, kitap_durum FROM kitaplar")
return kitaplar[/CODE]
Python projemde aşağıdaki hatayı alıyorum. Çözümü bulamadım.
ImportError: attempted relative import beyond top-level package
Aşağıdaki şekilde bir soruya denk geldim ama anlatılmak istenen şeyi anlamadım.
beyond top level package error in relative import
Bu konuda yardımcı olabilir misiniz?
Kodlarım
[CODE lang="python" title="Python"]NOTLAR
1 - design_ui klasöründe .ui uzantılı tasarım dosyaları vardır.
2 - ui klasöründe .ui uzantılı dosyaların .py uzantısına çevrilmiş halleri vardır.
3 - py klasöründe programın class dosyaları vardır. Tasarımlar ui klasöründen import edilmektedir.
4 - main.py dosyası tasarımını direkt olarak ui klasöründen import edilmektedir.
ALDIĞIM HATA
#####################################################################################################
C:\Python\python.exe C:/PythonLearning/Projeler/GelismisKutuphaneSistemi/main.py
Traceback (most recent call last):
File "C:\PythonLearning\Projeler\GelismisKutuphaneSistemi\main.py", line 4, in <module>
import py.UyeEkle
File "C:\PythonLearning\Projeler\GelismisKutuphaneSistemi\py\UyeEkle.py", line 2, in <module>
from ..sql.Sql import *
ImportError: attempted relative import beyond top-level package
Process finished with exit code 1
#####################################################################################################
----------------------------------------------
ANA DİZİN main.py
----------------------------------------------
import sys
from sql.Sql import *
import py.UyeEkle
import py.KitapEkle
import py.OduncKitaplar
from PyQt5.QtWidgets import *
from ui.Kutuphane import *
class Pencere(QMainWindow,Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.Init_Ui()
self.KitaplariListele()
def Init_Ui(self):
self.actionUyeEkle.triggered.connect(self.UyeEkle)
self.actionKitapEkle.triggered.connect(self.KitapEkle)
self.actionOduncKitap.triggered.connect(self.OduncKitapVer)
self.show()
def UyeEkle(self):
self.uyeEkle = py.UyeEkle.Uye()
self.uyeEkle.show()
def KitapEkle(self):
self.kitapEkle = py.KitapEkle.Kitap()
self.kitapEkle.show()
def OduncKitapVer(self):
self.oduncKitap = py.OduncKitaplar.OduncKitap()
self.oduncKitap.show()
def main():
uygulama = QApplication(sys.argv)
pencere = Pencere()
sys.exit(uygulama.exec_())
if __name__ == "__main__":
main()
----------------------------------------------
py KLASÖRÜ UyeEkle.py
----------------------------------------------
import sys
from ..sql.Sql import *
from PyQt5.QtWidgets import *
from ..ui.UyeKayit import *
class Uye(QDialog,Ui_Dialog):
def __init__(self):
super(Uye,self).__init__()
self.setupUi(self)
self.Init_Ui()
def Init_Ui(self):
self.pushButtonKaydet.clicked.connect(self.UyeKayit)
self.pushButtonKapat.clicked.connect(self.Kapat)
def UyeKayit(self):
pass
def Kapat(self):
self.close()
----------------------------------------------
sql KLASÖRÜ Sql.py
----------------------------------------------
import sqlite3
dbconnect = sqlite3.connect("sql/GelismisKutuphaneSistemi.db")
db = dbconnect.cursor()
def UyeEkle(uye_adisoyadi, uye_telefonu):
db.execute("INSERT INTO uyeler (uye_adisoyadi, uye_telefonu) VALUES (?,?)", (uye_adisoyadi, uye_telefonu))
dbconnect.commit()
def KitapEkle(kitap_adi, kitap_yazari, kitap_aciklamasi, kitap_sayfasayisi, kitap_dili):
db.execute("INSERT INTO kitaplar (kitap_adi, kitap_yazari, kitap_aciklamasi, kitap_sayfasayisi, kitap_dili) VALUES (?,?,?,?,?)",(kitap_adi, kitap_yazari, kitap_aciklamasi, kitap_sayfasayisi, kitap_dili))
dbconnect.commit()
def KitaplariListele():
kitaplar = db.execute("SELECT kitap_id, kitap_adi, kitap_yazari, kitap_sayfasayisi, kitap_dili, kitap_durum FROM kitaplar")
return kitaplar[/CODE]
Son düzenleyen: Moderatör: