Exe 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.
s7120
User
Beiträge: 26
Registriert: Donnerstag 27. November 2014, 13:43

Servus Zusammen,

ich habe für meine Abteilung ein kleines Programm geschrieben. Jeder möchte das Programm jetzt nutzen, aber nicht alle wollen Python installieren.
Besteht die Möglichkeit aus meinem Programm eine Exe zu erstellen, die ich dann versenden kann und die jeder nutzen kann ohne Python zu installieren?

Falls das funktioniert, kann mir jemand sagen wie?

Viele Grüße aus Hamburg :P
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

Mit py2exe geht sowas.
a fool with a tool is still a fool, www.magben.de, YouTube
s7120
User
Beiträge: 26
Registriert: Donnerstag 27. November 2014, 13:43

Servus MagBen,

danke schonmal. Auf dieser Seite: http://www.py2exe.org/ kann ich für meine Python Version (2.7 und 32bit) die Datei nicht herunterladen.
Kommt zu einem Fehler und mein Internet Explorer stürzt ab.

Hast du noch eine andere Idee?

Gruß
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

s7120 hat geschrieben:Hast du noch eine andere Idee?
Erste Idee: Verwende einen anderen Browser als den Internet Exploder.

Zweite Idee: Hol dir die Dateien für py2exe direkt von Sourceforge.

Dritte Idee: Verwende statt py2exe einfach cx_Freeze. Das läuft dann auch mit Python 3 wenn du irgendwann mal umsteigst.
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

/me hat geschrieben:Verwende statt py2exe einfach cx_Freeze.
Hast Du schon viel mit cx_Freeze gemacht?
Ist es einfacher oder noch komplizierter zu konfigurieren als py2exe?
Funktioniert das tatsächlich für Windows und Linux?
a fool with a tool is still a fool, www.magben.de, YouTube
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Und weil es so schön ist, es gibt da auch noch pyinstaller. Damit baue ich im Augenblick unter Linux exe-Dateien, die dann auch unter Windows problemlos tun und kein installiertes Python voraussetzen.

Ich empfehle aber immer: verteilt das Python-Programm als Code und nicht als .exe.
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

MagBen hat geschrieben:Hast Du schon viel mit cx_Freeze gemacht?
Das ist ewig her und es waren immer nur Konsolenprogramme. Das funktioniert allerdings sowohl unter Linux wie auch unter Windows.
lackschuh
User
Beiträge: 281
Registriert: Dienstag 8. Mai 2012, 13:40

Ich verwende pyinstaller vorallem wenn ich noch ein GUI Toolkit a la PyQT reinstopfen muss. Die standalone EXE ist halb so groß wie mit py2exe
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Wenn ich mich richtig erinnere wird py2exe auch nicht mehr entwickelt.
s7120
User
Beiträge: 26
Registriert: Donnerstag 27. November 2014, 13:43

Habe mir jetzt gerade cx_freeze herunter geladen und unter :C\Python27 abgelegt.
Leider verstehe ich schon wieder zusammen hänge nicht. Ich habe eine Anleitung in diesem Forum gefunden aber damit komme ich nicht zurecht.
Kann mir jemand die Schritte erläutern? Ich brauche immer ein Beispiel, das ist echt nervig wenn man die Sprache nicht spricht !
Danke euch schonmal.
s7120
User
Beiträge: 26
Registriert: Donnerstag 27. November 2014, 13:43

Ich nutze aktuell py2exe und gehe so vor:
Installiert ist py2exe.

Ich lege ein neues File an mit dem Namen: Helloworld.py
Inhalt ist ganz einfach gehalten mit:

Code: Alles auswählen

Print "Hello World"
Anschließen lege ich erneut ein neues File mit dem Namen: Setup.py an
Dort ist folgender Code:

Code: Alles auswählen

from distutils.core import setup
import py2exe
   
setup(console=['Helloworld.py'])
Wenn ich jetzt das Setup laufen lasse, soll eigentlich (laut Anleitung) ganz viel Text im Interactive Window erscheinen und eine .exe angelegt werden.
Bei mir kommt weder Text noch wird eine .exe angelegt.

Woran kann das liegen?
der_neue
User
Beiträge: 1
Registriert: Dienstag 27. Januar 2015, 05:54

Versuchs mal hiermit (für cx_freeze) - funktioniert bei mir einwandfrei auch mit größeren Programmen incl. tkinter.
Version 3.x

https://www.youtube.com/watch?v=XHcDHSWRCRQ
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

"compile Python" was wohl daran nicht stimmt?
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
s7120
User
Beiträge: 26
Registriert: Donnerstag 27. November 2014, 13:43

Danke für die super Antwort, wenn ich nicht auf Hilfe angewiesen wäre würde ich hier wohl nichts posten!
BlackJack

@s7120: Ernste Antwort: Irgend etwas mit Deinem tastächlichen Quelltext, den Du hier nicht gezeigt hast, oder mit dem was Du konkret gemacht hast, was Du hier auch nicht gezeigt hast, stimmt nicht. Mehr kann man nicht sagen, solange Du nicht mehr verrätst.

Warum ich denke das sei nicht der tatsächliche Quelltext? Die `Helloworld.py` enthält einen Syntaxfehler, ist also offenbar so Pi mal Daumen hier reingetippt worden. Und das lässt vermuten das selbe wurde mit der `setup.py` gemacht. Das heisst in Deinem tatsächlichen Skript könnte ein Fehler sein den wir so nicht finden weil wir es nicht kennen.
s7120
User
Beiträge: 26
Registriert: Donnerstag 27. November 2014, 13:43

Servus Blackjack,

danke für deine Mühen, ich versuche es jetzt nochmal ganz auszufühlich zu schreiben.

Ich öffne Python und erstelle ein neues Python Skript und das nenne ich "Helloworld.py". In diesem Skript steht nichts außer:

Code: Alles auswählen

print "Hello World!"
Wenn ich dieses jetzt laufen lasse, wird in meinem interactive window in Python "Hello World!" ausgegeben.
Also kann hier schonmal kein Fehler sein, oder?

Anschließend öffne ich wieder ein neues Python Skript und nenne es "Setup.py". In diesem Skript steht dann nur:

Code: Alles auswählen

from distutils.core import setup
import py2exe
   
setup(console=['Helloworld.py'])
Anschließend lasse ich dieses Setup in Python laufen und es passiert nichts.
Mach ich irgendetwas falsch? Ich habe auch selbst noch im Internet recherchiert und gelesen, dass man das in einem "Command Window" von Windows machen muss?


Danke für deine/eure Hilfe.
s7120
User
Beiträge: 26
Registriert: Donnerstag 27. November 2014, 13:43

Ich würde es wirklich erst gerne mit einem einfach Programm versuchen, dass wirklich nur "Hello World!" ausgibt. Sobald das funktioniert möchte ich dann ein anderes Programm in eine EXE verwandeln.
BlackJack

@s7120: Ja das sollte man in der Konsole vom Betriebssystem ausführen. Du öffnest übrigens nicht Python sondern sehr wahrscheinlich IDLE.
s7120
User
Beiträge: 26
Registriert: Donnerstag 27. November 2014, 13:43

Das heißt, ich erstellt das aber das "Setup.py" in Python bzw. IDLE was auch immer das ist.
Wenn ich dann aber in die Konsole vom Betriebssystem Setup.py eingebe um es ausführen zu lassen, kommt folgende Fehlermeldung:

Der Befehl "Setup.py" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Als Ergänzung zu den üblichen Verdächtigen, die schon genannt wurden, sei übrigens noch das Kompilieren zu einem Standalone-File mittels Cython erwähnt (Snippet). Das habe ich allerdings noch nie ausprobiert.
Antworten