Seite 1 von 1

Standalone Windows Anwendung mit Qt

Verfasst: Samstag 17. Juli 2010, 17:11
von anogayales
Hallo allerseits,

ich steh mal wieder auf dem Schlauch, dies ist eher eine windowsspezifische Frage:

Ich möchte mein Programm, als Art Standalone Anwendungen verbreiten. Ich benutzte PyQt in der aktuellsten Version und habe nach diesem Beispiel gearbeitet:

http://ms4py.org/2010/05/05/python-portable-windows/

Hier wird exemplarisch dargestellt, wie man das ganze für GTK macht, leider aber nicht für Qt. Nach ein wenig Googeln, habe ich herausgefunden, dass die Umgebungsvariable QTDIR helfen könnte. Also:

Code: Alles auswählen

@echo off
SET QTDIR=%CD%\..\Python26\Lib\site-packages\PyQt4\bin
SET PATH=%QTDIR%
SET PYTHONPATH=%CD%
cd test
..\Python26\python script.py
PAUSE
Leider bekomm ich mit dem obigen Code:

Code: Alles auswählen

 from PyQt4 import QtGui
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
Sprich: Die DLL wird nicht gefunden, die sich aber im obigen Verzeichnis von PyQt4 befinden.

Hat irgendjemand Vorschläge wie ich an die Sache dran gehen könnte?

Grüße,
anogayales

Re: Standalone Windows Anwendung mit Qt

Verfasst: Samstag 17. Juli 2010, 17:37
von lunar
Für eine Standalone-Anwendung würde man doch eher pyinstaller oder py2exe verwenden. Hast Du es damit mal versucht?

Re: Standalone Windows Anwendung mit Qt

Verfasst: Samstag 17. Juli 2010, 19:07
von ms4py
Hatten wir doch erst mit Qt: http://www.python-forum.de/viewtopic.php?f=24&t=23443

Edit: Deine Pfade scheinen nicht zu stimmen, das ergibt überhaupt keinen Sinn. Dein Python-Verzeichnis ist bei den zwei Zeilen (2 und 6) unter jeweils unterschiedlichen relativen Pfaden verlinkt! In Zeile 2 müssen vermutlich die Punkte weg im relativen Pfad.

Re: Standalone Windows Anwendung mit Qt

Verfasst: Montag 19. Juli 2010, 21:17
von anogayales
Vielen, vielen Dank!

In der Tat hab ich da was mit meinen Pfade falsche gemacht. Nun klappt es aber wunderbar.

Nun jetzt eigentlich zur wichtigsten Frage:
Wie krieg ich mein Python Paket minimal, ferner, wie krieg ich mein PyQt4 Paket minimal?

Das Ding hat satte 140 MB. Heutzutage ist das vielleicht nicht viel, aber wegen der vielzahl an kleinen Dateien dauert das Verschieben bzw. Kopieren der Anwendung auf aktuellen Systemen einige Minuten.

Gibt es da vielleicht schon vorgefertigte Pakete?

Grüße,
anogayales

Re: Standalone Windows Anwendung mit Qt

Verfasst: Montag 19. Juli 2010, 21:29
von ms4py
Also bei mir sind es nur 105 MB
  • "docs" kann auf jeden Fall raus -20 MB
  • "translations" kannst du aufräumen -3 MB
  • "examples" -5 MB
Damit sind es ca. 80 MB. Unter "bin" kannst du eventuell auch was löschen, musst halt schauen, was für DLL-Abhängigkeiten deine Programme haben. Z.B. mit "dependency walker" oder einfach durch trial and error.

BTW: Für die Verteilung würde ich sowieso archivieren (oder einen Installer), ist eleganter und in der Regel schneller.

Re: Standalone Windows Anwendung mit Qt

Verfasst: Dienstag 20. Juli 2010, 08:20
von lunar
@anogayales: Du kannst zusätzlich auch die DLLs und Module entfernen, die Du nicht benötigst (mit Ausnahme von QtCore, das ist essentiell, selbst wenn Du es nicht direkt verwendest).