Seite 1 von 1
Python.exe
Verfasst: Sonntag 25. Oktober 2009, 12:23
von Rumble
Hallo.
Ich versuche schon seit längerer Zeit, eine .exe aus einem meiner Python Dateien zu machen. Ich habe mir py2exe geladen und habe auch schon meherere Threads hier gelesen wo das erklärt wird, allerdings hilft mir das alles nichts weiter...
Die Datei, die ich konvertieren möchte, befindet sich in einem Ordner auf dem Desktop, den Ordner nenn ich einfach mal "Python". (Ich habe gelesen, dass der Pfad auch angegeben werden muss irgendwo...)
Folgendes Script hab ich mir hier angeschaut allerdings funktioniert es nicht:
from distutils.core import setup
import py2exe
import sys
if len(sys.argv[1]) == 1:
sys.argv.append("py2exe")
setup(console=["MeineDatei.py"])
Die "setup.py" befindet sich im selben Ordner wie die zu konvertierende Datei, was mach ich falsch? Kann mir jemand eine Schritt für Schritt Erklärung liefern und am Besten ohne irgendwelche Abkürzungen wie "cd Desktop" etc...?
Ich habe ein 32bit System mit Vista Home Premium, kann es sein, dass das der Grund ist, warum das eventuell nicht geht?
Ich bin Euch sehr dankbar für jede Antwort!
Verfasst: Sonntag 25. Oktober 2009, 13:08
von ms4py
Vielleicht gibts du mal eine entsprechende Fehlermeldung?!
Auf den ersten Blick sieht das Skript nämlich gut aus und mit der Aussage "funktioniert nicht" kann hier wohl keiner was anfangen...
Benutze beim nächsten mal außerdem Syntax-Highlighting, wenn du wieder Code postest.
Als Alternative zu py2exe gibt es auch noch pyinstaller, vielleicht versuchst auch das mal.
Verfasst: Sonntag 25. Oktober 2009, 13:44
von Rumble
Wie kann ich die Syntax hervorheben? Sorry, bin unerfahren, was Internet-Threads angeht...
Verfasst: Sonntag 25. Oktober 2009, 13:56
von Dav1d
[ code=py ]CODE[ /code ] ohne Leerzeichen halt, im Editor is auch son Button, der heißt Python
Verfasst: Sonntag 25. Oktober 2009, 16:09
von Rumble
Code: Alles auswählen
Traceback (most recent call last):
File "C:\Users\"Name"\Desktop\Python\setup.py", line 4, in <module>
if len(sys.argv[1]) == 1:
IndexError: list index out of range
Nochmal meine setup.py Syntax...
Code: Alles auswählen
from distutils.core import setup
import py2exe
import sys
if len(sys.argv[1]) == 1:
sys.argv.append("py2exe")
setup(console=["MeineDatei.py"])
Jetzt besser zu verstehen?
Verfasst: Sonntag 25. Oktober 2009, 16:48
von cofi
Ich nehme an, dass du Aufrufe fuer `py2exe` per
ermoeglichen willst.
Wenn das stimmt, solltest du den Index entfernen, du ueberpruefst naemlich gerade ob dein 2. Parameter (1 == Skriptname) 1 Zeichen lang ist.
Da du ohne 2. Parameter aufrufst, bist du ausserhalb der Liste.
Verfasst: Sonntag 25. Oktober 2009, 16:49
von Rumble
Meine Vermutung ist, dass die Versionen irgendwie spinnen... Hab Python Version 2.6.3 und der py2exe ist ja für 2.6... vielleicht sind die inkompatibel.
Ich bin gerade dem Tutorial gefolgt von
http://www.py2exe.org/index.cgi/Tutorial#Step1
Da wo man das in DOS eingeben muss, kommt bei mir Folgende Fehlermeldung...
DeprecationWarning: the sets module is deprecated
import sets
running py2exe
*** searching for required modules ***
error: hello.py: no such file or directory
[/code]
Verfasst: Sonntag 25. Oktober 2009, 17:47
von ms4py
Code: Alles auswählen
from distutils.core import setup
import py2exe
import sys
if len(sys.argv) == 1:
sys.argv.append("py2exe")
setup(console=["MeineDatei.py"])
Versuch mal so.
Ein Versionsproblem ist es definitiv nicht!
Da musst du was falsch gemacht haben mit dem Tutorial... Hast du die hello.py wirklich im gleichen Verzeichnis wie die setup.py?
Verfasst: Sonntag 25. Oktober 2009, 17:57
von Rumble
SOOOO ein Glücksgefühl!!!!!
Auf einmal kamen richtig viele Zeilen und Ting, fertig!
Einfach nur herrlich!
Vielen Dank Euch allen!
ice2k3, du bist mein Held =D
... Ich freu mich so... =)
Verfasst: Sonntag 25. Oktober 2009, 18:08
von cofi
Haettest du meinen Post gelesen _und_ verstanden, haettest du deine Loesung schon 1 Stunde vorher gehabt.
Kann es vielleicht sein, dass du das Tutorial-Snippet blind abgetippt hast, ohne eine `hello.py` Datei zu erstellen?
Hm. Ich kann einfach nicht anders.
Kristen Nygaard hat geschrieben:To program is to understand.
Verfasst: Sonntag 25. Oktober 2009, 18:16
von ms4py
cofi hat geschrieben:Haettest du meinen Post gelesen _und_ verstanden, haettest du deine Loesung schon 1 Stunde vorher gehabt.
Kann es vielleicht sein, dass du das Tutorial-Snippet blind abgetippt hast, ohne eine `hello.py` Datei zu erstellen?
Hm. Ich kann einfach nicht anders.
Kristen Nygaard hat geschrieben:To program is to understand.
Ach, du bist doch nur neidisch
Nein, du hast natürlich recht, du hast ihn schon darauf hingewiesen und er hat das wohl nicht verstanden. Das Zitat gefällt mir übrigens...
Verfasst: Sonntag 25. Oktober 2009, 19:10
von cofi
ice2k3 hat geschrieben:Ach, du bist doch nur neidisch
Nichts laeg mir ferner

Ich hab/hatte nur das Gefuehl, dass der OP nicht verstanden hat, wo das Problem liegt/lag.
Verfasst: Sonntag 25. Oktober 2009, 20:09
von Rumble
Das Programm hatte ich selbstverständlich in dem Verzeichnis aber aus irgendeinem beschissenen Grund ging es nicht.
(Ich habe übrigens meine Version auf 2.5 geändert und danach hier geguckt, da stand die neue Antwort von ice, ich hab sie eingegeben und es hat einwandfrei funktioniert. Freut euch doch mit mir... =(