Mit py2exe *eine* EXE-Datei erstellen...

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
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

py2exe liefert ja nicht wirklich nur eine EXE-Datei, sondern einige Dateien (DLLs usw.) unter der auch die EXE-Datei zu finden ist ;)

Gibt es eine Möglichkeit wirklich nur eine große EXE-Datei davon zu backen? Vielleicht mit einem zweiten Tool, welches alles zusammen packt und beim start alles ins RAM Auspackt?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Hab gerade was im py2exe Wiki gefunden: http://starship.python.net/crew/theller ... Executable

Dabei wird mit http://nsis.sourceforge.net/ eine EXE-Datei erstellt. Beim Starten der EXE, werden alle Dateien in's Temp-Verz. entpackt und das Programm gestartet. Nach dem Beenden werden alle Temp-Dateien wieder gelöscht.

Ganz nett eigentlich. Hat damit jemand Erfahrungen??? Wie lange dauert ein Programmstart?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
cime
User
Beiträge: 152
Registriert: Dienstag 24. Mai 2005, 15:49

immer erst suchen:

hier schauen
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Hab den Thread kurz überflogen. In dem Thread geht's aber darum ein Python-Skript auf einem anderen Rechner lauffähig zu machen, entweder mit py2exe oder per richtigem Installer... Es geht nicht darum *eine* EXE-Datei zu erstellen!

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

Nach allem, was ich bisher von py2exe kenne, ist es nicht möglich, eine *.exe zu backen, in der alles drin ist. Von der Überlegung her logisch - wenn man auf seinem System zusätzliche Module hat, muß man die importieren, die kann man nicht einfach in seine source-file übernehmen.


mfg, querdenker
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Das es nicht direkt mit py2exe geht ist schade... Aber der Anzatz von http://starship.python.net/crew/theller ... Executable ist schon der richtige...
Ich frage mich nur, ob es nicht möglich ist alles direkt im RAM zu machen, also ohne Temp-Files... Dürfte ein Tick schneller gehen ;)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

Wenn ich das mit der SFE richtig verstanden habe, übernimmt NSIS nur das packen der Dateien in eine SFE, die bei Programmstart in ein Temp-LW entpackt wird und nach beenden werden diese Dateien wieder gelöscht.
Das vereinfacht nur das verteilen der Anwendung.
Diesen Ansatz weiter verfolgend, müsstest du dir im RAM ein virt. LW erstellen, da alles hinentpacken und nach beenden das Laufwerk wieder droppen. Hmmmm, weiß nicht, irgendwie nicht so prall. Virtuelle Laufwerke kann man meines wissens nicht einfach so unter Win* erstellen und verwerfen.
Und du brauchst ja irgendwelche Angaben, wo welche Module zu finden sind.

MfG, querndenker
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ab py2exe v0.6 kann es nun *eine* Datei erzeugen :lol:

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

0.6.1 um genau zu sein. Dabei gibt es aber noch einige Kinderkrankheiten, so dass man Services nicht wieder löschen kann usw.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Services??? Was meinst du damit?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Gib mal auf 200/XP-Systemen bei Ausführen "services.msc" ein und dann hast du eine Liste von Programmen die auf deinem System zusätzlich laufen, wie zum Beispiel Universal-PNP, MySQL, VNC usw. Mit py2exe kann man Programme generieren, die sich dort einklinken können (-install und -remove), allerdings hat das -remove zumindest in version 0.6.1 nicht funktioniert, wenn das Programm in eine einzelne Datei gepackt wurde.

Übrigens: py2exe 0.6.2 ist fertig!
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ach, du meinst Dienste ;) So wie du es geschrieben hast, dachte ich nicht daran, sondern was wichtiges :)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten