py2exe + cx_Oracle + python2.6 erzeugt Fehler

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Damaskus
Administrator
Beiträge: 995
Registriert: Sonntag 6. März 2005, 20:08
Wohnort: Schwabenländle

Hallo,
ich hab in den letzten Tagen ein Programm was bisher auf Python2.5 mit wx und cx_Oracle 4.3.1 10g lief auf Python2.6 und cx_Oracle 5.0.1 10g aktualisiert.

Das Programm läuft mit dem Aufruf "python2.6 ARBT2.pyw" problemlos.
Sobald ich es mit py2exe gepackt habe kommt
Traceback (most recent call last):
File "wx\_misc.pyc", line 1342, in Notify
File "wx\_core.pyc", line 14680, in Notify
File "ARBT2.pyw", line 556, in DB_abfrage_Timer
File "ARBT2.pyw", line 606, in DB_Abfrage
NameError: global name 'cx_Oracle' is not defined
der Import sieht so aus:

Code: Alles auswählen

try:
    import cx_Oracle
except ImportError, error:
    import traceback
    print traceback.format_exc()
    debug = True
    from debug_daten import debug_data
und die DB Abfrage so:

Code: Alles auswählen

            try:
                db = cx_Oracle.Connection(str(self.user), str(self.password), "dbserver_ora")
                c = db.cursor()
                c.execute("""SELECT * FROM AUFTRAGGEBER.BELEG WHERE DATUM = :datum AND PROJEKTART = 'A'""", dict(datum=abfrage_Datum))
                erg = c.fetchall()
                c.close()
                db.close()
                self.SetStatusText("Online", 1)
                self.DB_Abfrage_verarbeiten_MaxiFrame(erg)
            except ValueError, error:
                import traceback
                print traceback.format_exc()
                self.PushStatusText("Keine Verbindung zur DB!", 0)
                self.SetStatusText("Offline", 1)
                # Timer reseten und neu starten
                self.key_timer = 30
                self.db_timer.Restart(1000)
Ich probiers jetzt noch mit einer älteren cx_Oracle Version aber ich würd schon gerne die 5.01 verwenden.
Hat jemand eine Idee zu dem Problem?

Gruß
Damaskus

EDIT: Mit cx_Oracle 4.x funktionierts.
Falls trotzdem noch jemand eine Idee dazu hat trotzdem bitte melden :)
Antworten