Mas to malinko komplikovane. zde je spravnej postup. porovnej si zpusob volani gtk.main()
Ne, že by se to nedalo napsat lépe, ale ten problém je jinde. Jediný důvod, proč by uvedený kód nefungoval je ten, že nemá odsazenu definici funkce main a tudíž nepatří do třídy Base. Jenže tato chyba by vyvolala jiné chybové hlášení, než které tazatel uvedl, tudíž tato chyba musela vzniknout až při kopírování kódu do fóra. Chybové hlášení jasně píše, že nenašel třídu
gtk.Window a přitom byl
gtk importován. Tohle vznikne tehdy, když se importuje špatný modul a v tomto případě je to určitě tím, že si tazatel nejprve zkoušel vytvořit skript s názvem
gtk.py, jako většina začátečníků - další oblíbený je
pygtk.py. Při importu se nejprve prohledá pracovní adresář a pokud nazvete svůj skript stejným jménem, jako se jmenuje kýžená knihovna, můžete hádat, co se stane. Další průšvih je ten, že se při interpretaci vytvořil bajtkód s názvem
gtk.pyc a tak i když tazatel spouštěl skript s názvem
base a i kdyby smazal původní gtk.py, zbyde v pracovním adresáři
gtk.pyc a ten se bude importovat, místo skutečného
gtk. Prasárna což?