hallo zusammen,
um eine spezielle hardware mit python verwenden zu können, habe ich mir mit dem bcc55 ein einfaches python-wrapper-modul, für die hardware-api (c-header-file und windows-dll) gebastelt.
verwende ich nun mein python-modul in einem skript und führe dieses skript direkt per interpreter aus, funktioniert alles wunderbar; baue ich mir aber eine exe-file mit py2exe oder dem pyinstaller läuft's leider nicht. das python-skript startet zwar, beim aufruf der init-funktion der api bleibt es aber hängen und die cpu-last schnellt auf 100% hoch.
ein beenden der anwendung ist nur per hartem task-kill möglich.
habt ihr irgend eine idee, woran dies liegen könnte, und wie ich doch zu meiner gewünschten exe (aus python heraus) komme?
thnx
menno
python c api & pyinstaller bzw py2exe
Ist denn auch alles notwendige "eingepackt"? Hat der bcc vielleicht irgendwelche Laufzeitbibliotheken die man dazupacken müsste?
Hallo,
vielen Dank für eure Antworten.
@Sr4l: ... dachte ich auch. Ich hab's trotzdem als 'SingleFile' und 'Normal', als 'Windowed' und 'Console' versucht. Hat aber alles nichts gebracht.
@BlackJack: Keine Ahnung ob der BCC zusätzliche Libs benötigt. Aber soweit ich weiss sind *.pyd-Files 'umbenannte' *-dll-Files und wieso sollten da spezielle Laufzeitumgebungen erforderlich sein? Und wie gesagt, wenn ich meine Python-Anwendung direkt im installierten Interpreter ausführe funktioniert alles.
Sonst irgendwelche Ideen? Ich weiss leider echt nicht mehr weiter.
menno
vielen Dank für eure Antworten.
@Sr4l: ... dachte ich auch. Ich hab's trotzdem als 'SingleFile' und 'Normal', als 'Windowed' und 'Console' versucht. Hat aber alles nichts gebracht.
@BlackJack: Keine Ahnung ob der BCC zusätzliche Libs benötigt. Aber soweit ich weiss sind *.pyd-Files 'umbenannte' *-dll-Files und wieso sollten da spezielle Laufzeitumgebungen erforderlich sein? Und wie gesagt, wenn ich meine Python-Anwendung direkt im installierten Interpreter ausführe funktioniert alles.
Sonst irgendwelche Ideen? Ich weiss leider echt nicht mehr weiter.
menno
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Weil der Compiler eventuell automatisch gegen irgendwelche Libs linkt, die dann nicht verfügbar sein könnten. So in etwa wie alle Cygwin-Programme die ``cygwin1.dll`` benötigen.menno hat geschrieben:Aber soweit ich weiss sind *.pyd-Files 'umbenannte' *-dll-Files und wieso sollten da spezielle Laufzeitumgebungen erforderlich sein?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Aber das würde ja auch bedeuten, dass meine anwendung auch dann nicht funktioniert, wenn ich sie direkt im interpreter ausführe ... tut sie aber.
Und das die cpu-last bei der generierten EXE auf 100% steigt, weil eine laufzeitumgebung fehlt kann ich mir auch nicht vorstellen. Ich hätte da dann eher mit einer fehlermeldung gerechnet.
Und das die cpu-last bei der generierten EXE auf 100% steigt, weil eine laufzeitumgebung fehlt kann ich mir auch nicht vorstellen. Ich hätte da dann eher mit einer fehlermeldung gerechnet.