prbleme: py2exe + QOci8

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
mr.hide

Hallo,

ich hoffe ich bin im allgemeinen Forum richtig, aber da es ein QT wie auch py2exe Problem sein könnte bin ich glaub ich hier richtig.

Zu meinem Problem:
Ih habe ein Programm makeLimit.py dies compiliere ich so:

Code: Alles auswählen

python setup.py py2exe -i sip
Funktioniert alles soweit ganz gut.
Starte ich die Anwendung passiert folgendes:

Code: Alles auswählen

QSqlDatabase: QOCI8 driver not loaded
QSqlDatabase: available drivers:
Mein Lösungsansatz bis jetzt, die oci treiber werden nicht gefunden.
Also kopiere ich diese mit in den ordner oci und starte das Programm mit diesem batch-file:

Code: Alles auswählen

set PATH=%PATH%;%cd%\oci\lib;%cd%\oci\lib\msvc;%cd%\oci\include;
dist\makeLimit.exe
Ich setze damit also den Pfad und starte das Programm.

QT ansich wird aber mitgegeben, da mein Programm eine Exception wirft (auf grund der nicht zustandekommende DB verbindug) und eine QMessageBox aufploppt.

Nun noch die relevanten Teile aus dem python Programm:

Code: Alles auswählen

import time
import sys
from qt import *
from qtsql import *
import commands
import qttable
import os
from ftplib import FTP
from qtsql import QSqlDatabase


class Limit(QWizard):
und die setup.py:

Code: Alles auswählen

# setup.py
from distutils.core import setup
import py2exe
      
setup(console=["makeLimit.py"])

Ich hoffe Ihr habt da einen Ansatz!
Muss nicht unbedingt die Lösung sein, wenn doch umso besser.
Bin auch für Tips in welche Richtung ich "forschen" soll dankbar.

mfg
Matthias
mr.hide

Hab gerade das verzeichnis der qsqldriver gefunden.
Ein Einbinden per py2exe geht nicht. -> Kennt das modul nicht

Code: Alles auswählen

python setup.py py2exe - i qsqloci
python setup.py py2exe - i qsqldriver
python setup.py py2exe - i oci
führt alles zu dem Ergebnis dass er die Module nicht kennt.

Auch das reinkopieren der Folder bringt nichts.


mfg
Matthias
Benutzeravatar
Toni83
User
Beiträge: 125
Registriert: Donnerstag 28. Juli 2005, 10:53

Hallo mr.hide,

versuch es doch mal mit einem anderen .exe - Maker.
Ich habe auch ziemliche Probleme mit py2exe gehabt, bis ich statt py2exe cx_Freeze verwendet habe. Vielleicht bindet cx_Freeze dann die nötigen Module ein. Einfach mal ausprobieren. :wink:

Gruss,
Toni
Gast

Hallo,

bringt leider auch nicht den gewünschten erfolg.

mfg
ProgChild
User
Beiträge: 210
Registriert: Samstag 9. April 2005, 10:58
Kontaktdaten:

mr.hide hat geschrieben:

Code: Alles auswählen

QSqlDatabase: QOCI8 driver not loaded
QSqlDatabase: available drivers:
Wenn ich das richtig verstehe, dann müsste an der Stelle eine Liste von Datenbanktreibern angezeigt werden. Da das ich der Fall ist, gibt es bestimmt irgendwo eine Datei, in der die alle eingetragen werden müssen...
mr.hide
User
Beiträge: 108
Registriert: Montag 29. August 2005, 14:02

Ja, du verstehst dass schon richtig.
Irgendwie müssen diese Treiber eingebunden werden, aber wie?
ich hab schon alles probiert, was mir einfällt.

Eigentlich müsste er es mit diesem Code im python script ja mitnehmen ...:

Code: Alles auswählen

from qt import *
from qtsql import *
Aber er macht das nicht!
Was mir als möglicher Fehler noch eingefallen ist, ist das QT diese Treiber als Plugin handelt, vielleicht liegt es daran ...

Hoffe auf weitere Tips.

mfg
Matthias
mr.hide
User
Beiträge: 108
Registriert: Montag 29. August 2005, 14:02

Hat keiner mehr einen Tip?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Frag doch noch in der py2exe oder PyQt Mailingliste...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten