Seite 1 von 3

Warum will das mit Py2exe und Installer keine exe werden?

Verfasst: Samstag 18. Dezember 2004, 22:55
von Iopodx
Hi..

Da bin ich noch mal..

hab mein prog jetz fertig und will das inne exe konvertieren..

aber das will nicht. Bei py2exe kommt keine Fehlermeldung und beim INstaller auch nicht. Es kommt einfach keine exe raus!

hier mal der code:

Code: Alles auswählen

# -*- coding: cp1252 -*-
import whrandom
def wuerfel():
    global V1, a, b, c, d
    a=whrandom.randint(1, 6)
    b=whrandom.randint(1, 6)
    c=whrandom.randint(1, 6)
    V1=a+b+c
    d=V1%3
    print '---------------'
    print 'Sie haben folgendes gewürfelt: ', a, b, c
def game():
    if (d==0):
        print 'Gewonnen! Der Rest beträgt: ', d
    elif (d==2):
        print 'Unentschieden! Der Rest beträgt: ', d
    elif (d==1):
        wuerfel()
        game()
    
wuerfel()
Variante=raw_input('Spielvariante 1 oder 2?')
print 'Spielvariante: '+Variante
print '---------------'
print 'Sie haben folgendes gewürfelt: ', a, b, c
V1=a+b+c
if Variante=='1':
    if V1<9:
        print ('Verloren! ', V1),
    else:
        print ('Gewonnen! ', V1)
elif (Variante=='2'):
        game()
Wär nett wenn mir jemand sagen kann wie ich ne exe draus mache, oder mir jemand die exe gibt :)

Verfasst: Sonntag 19. Dezember 2004, 00:18
von Leonidas
Hast du denn auch eine Setup Datei für py2exe?

Code: Alles auswählen

from distutils.core import setup
import py2exe
      
setup(console=["deinscript.py"])
deinscript.py musst du noch ersetzen und es ist aufzurufen mit python setup.py py2exe angenommen es heißt setup.py. Dann findest du alles was du braiuchts im dist/ Ordner, unter anderem auch die exe Datei. Aber du musst trotzdem alles in diesem Ordner mitliefern, sonst geht es nicht.

Verfasst: Sonntag 19. Dezember 2004, 13:06
von Iopodx
ne, es kommt keine exe. Der Build Ordner wird gemacht. Auch der Dist. Nur ist dieser dann leer!

Verfasst: Sonntag 19. Dezember 2004, 13:12
von Milan
HI. Dann zeig doch mal deine setup.py... und vor allem: wie heißt dein Script? Hab schon erlebt, dass man das einfach nur falsch eingetragen hatte und es ging deswegen nicht :wink:

Verfasst: Sonntag 19. Dezember 2004, 20:36
von Iopodx
# setup.py
from distutils.core import setup
import py2exe

setup(scripts=["c:\wuffel.py"])

So gehts mit anderen auch, nur mit der net :/

Verfasst: Sonntag 19. Dezember 2004, 20:43
von Iopodx
K danke, ich habs mit
setup(console=....

gings dann

Verfasst: Sonntag 19. Dezember 2004, 20:45
von Leonidas
Und wenn du keine absoluten Pfade nutzt, ist die setup.py sogar portabel.

Verfasst: Donnerstag 1. Juni 2006, 20:49
von skunkk90
hi habe mal ne frage, geht des auch mit "pyw"??? weil wenn ja is die setup datei dann gleich???
mfg

Verfasst: Donnerstag 1. Juni 2006, 22:28
von Leonidas
skunkk90 hat geschrieben:hi habe mal ne frage, geht des auch mit "pyw"??? weil wenn ja is die setup datei dann gleich???
Ja es geht und die setup.py ist insofern gleich, dass da statt.py .pyw steht.

Wird aber trotzdem nicht das machen was ich denke, dass du machen willst.

Seis drum: was willst du denn machen?

Verfasst: Freitag 2. Juni 2006, 12:48
von skunkk90
ich habe vor dises Programm in exe zu konvertieren:

Code: Alles auswählen

# -*- coding: cp1252 -*-
from Tkinter import*
from ScrolledText import*

def arbeite():
    f = open('DeineTipps.txt', "r")
    sporteingabe=str(sportEntry.get())
    mann1eingabe=str(mann1ein.get())
    mann2eingabe=str(mann2ein.get())
    tippein1eingabe=str(tippein1.get())
    tippein2eingabe=str(tippein2.get())
    ausgabefeld.insert(END,'Du hast im "'+sporteingabe+'" bei\n"'+mann1eingabe+'" gegen "'  +mann2eingabe+ ' ",\n'+tippein1eingabe+' : '+tippein2eingabe+' getippt!\n\n')
    f = open('DeineTipps.txt', "w")
    f.write('Du hast im "'+sporteingabe+'" bei\n"'+mann1eingabe+'" gegen "'  +mann2eingabe+ '",\n'+tippein1eingabe+' : '+tippein2eingabe+' getippt!\n\n')
    
def save():
    ausgabefeld.insert(END,'Die Daten wurden gespeichert...\n\n')

    
hf = Tk()
frame1 = Frame(hf,width=300,height=450)
frame1.pack()

willk=Label(frame1, text='Willkommen!',font=("Arial",12,"bold"))
willk.place(x=20,y=20)

text1=Label(frame1, text='Mit diesem Programm kannst du deinen',font=("Arial",9,"normal"))
text1.place(x=20,y=45)

text2=Label(frame1, text='Tipp für ein Spiel abgeben!',font=("Arial",9,"normal"))
text2.place(x=20,y=63)

sportLabel=Label(frame1, text='Sport:', font=("Arial",9,"normal"))
sportLabel.place(x=20,y=105)

sportEntry=Entry(frame1, width=20)
sportEntry.place(x=110,y=105)

mann1=Label(frame1, text='Mannschaft 1:',font=("Arial",9,"normal"))
mann1.place(x=20,y=135)

mann2=Label(frame1, text='Mannschaft 2:',font=("Arial",9,"normal"))
mann2.place(x=20,y=165)

mann1ein=Entry(frame1, width=20)
mann1ein.place(x=110,y=135)

mann2ein=Entry(frame1, width=20)
mann2ein.place(x=110,y=165)

tipp=Label(frame1, text='Dein Tipp:',font=("Arial",9,"normal"))
tipp.place(x=20,y=195)

tippein1=Entry(frame1,width=8)
tippein1.place(x=110,y=195)

tippein2=Entry(frame1,width=8)
tippein2.place(x=183,y=195)

doppelpkt=Label(frame1, text=':',font=("Arial",10,"bold"))
doppelpkt.place(x=168,y=192)

workButton=Button(frame1, text='Tipp abgeben!',font=("Times New Roman",12,"italic"),width=13,relief='groove',command=arbeite)
workButton.place(x=110,y=230)

saveButton=Button(frame1, text='Save!', font=("Times New Roman",12,"italic"),width=8,relief='groove',command=save)
saveButton.place(x=20,y=230)

ausgabefeld=ScrolledText(frame1, width=42,height=10)
ausgabefeld.place(x=12,y=285)

werbung=Label(frame1, text='www.skunkk-online.de.vu',font=("Arial",7,"normal"))
werbung.place(x=90,y=425)

hf.mainloop()

Verfasst: Freitag 2. Juni 2006, 12:51
von pr0stAta
Wenn deine einzige Frage wirklich
hi habe mal ne frage, geht des auch mit "pyw"???
war, dann hättest du es doch einfach auch selbst probieren können
oder? :D

Worauf Leonidas wohl hinauswollte war folgendes.
Bei einer pyw Dateiendung erscheint keine console, sofern
man das Script startet. Wenn du aber bei deiner exe
keine Console haben möchtest, sollte deine setup.py
ungefähr so aussehen:

Code: Alles auswählen

# setup.py
from distutils.core import setup
import py2exe
      
setup(windows=["DATEI.py"])

Verfasst: Freitag 2. Juni 2006, 13:02
von skunkk90
Alssooooo....
Irgendwie will des einfach net gehn...

Ich habe jetzt:
-> einen Ordner erstellt und in ihn die Datei rein, die ich konvertieren will UND die setup.py

-> die setup.py ausgeführt, nur passiert nichts... ganz davon abgesehn habe ich es auch schon über die cmd probiert, auch ohne Erfolg...

:?: :?:
Hilfe^^ ich komm da net weiter ich schaff nochnet mal mehr den Dist Ordner^^

Verfasst: Freitag 2. Juni 2006, 13:07
von pr0stAta
Hast du die Setup.py auch richtig über die Console
aufgerufen?

Code: Alles auswählen

C:\test\python>python setup.py py2exe
Sonst Hier mal gucken

Verfasst: Freitag 2. Juni 2006, 13:15
von skunkk90
du meinst doch die cmd oder?

Verfasst: Freitag 2. Juni 2006, 13:22
von skunkk90
hä? wie ruf ich die denn auf?!

Verfasst: Freitag 2. Juni 2006, 13:27
von pr0stAta
Ja genau, ich meine die CMD.
Ich habe gerade mal deinen Code getestet
und bei mir erstellt py2exe alles, so wie es sein
sollte. wo genau liegt denn dein Problem?
-> einen Ordner erstellt und in ihn die Datei rein, die ich konvertieren will UND die setup.py

-> die setup.py ausgeführt, nur passiert nichts... ganz davon abgesehn habe ich es auch schon über die cmd probiert, auch ohne Erfolg...
Dein 1. Schritt ist schonmal vollkommen ok. Wie führst du die Setup.py
genau aus. Schreibst du nur setup.py in die console?
Wenn ja, lies dir meinen Post von oben durch und falls auch dann nicht funktionieren sollte, zeig uns, sofern vorhanden, deine Fehlermeldung
und deine setup.py

*edit*
Öffne deine console(cmd).
gehe in den pfad mit deiner setup.py
schreibe in die cmd:
DEIN-PYTHON-PFAD setup.py py2exe
oder an einem Beispiel sofern du die python.exe nicht über ein einfaches
python aufrufen kannst:

c:/python24/python.exe setup.py py2exe

Verfasst: Freitag 2. Juni 2006, 13:49
von skunkk90
also meine python.exe setup.py py2exe sieht so aus:

Code: Alles auswählen

# setup.py
from distutils.core import setup
import py2exe
     
setup(windows=["Primzahl.pyw"])
und die setup.py genau so.
wenn ich sie über die CMD ausführe dann öffnet sich kurz ein schwarzes Fenster und sofort schliesst es sich wieder, genau wie wenn ich nen doppelklick auf eine setup.py mache...
Wo erstellt sich denn der Ordner? Oder was muss ich machen dass dich der Ordner erstellt?

Verfasst: Freitag 2. Juni 2006, 14:13
von Leonidas
skunkk90 hat geschrieben:hä? wie ruf ich die denn auf?!
Start -> Ausführen -> "cmd" eintippen -> Enter. Voilá!

Lies dir mal den Eintrag in der [wiki]FAQ#WieStarteIchSkripte[/wiki] durch, da steht alles nochmal haarklein beschrieben.

Verfasst: Freitag 2. Juni 2006, 14:32
von skunkk90
ok hatte die cmd falsch benutzt...
folgender fehler steht in der cmd wenn ich "X:\python\python setup.py py2exe" ausführe:
can't open file 'setup.py' :[Errno 2] No such file or dictionary

Verfasst: Freitag 2. Juni 2006, 14:41
von murph
start->programme->zubehör->eingabeaufforderung (windows)
oder
applications->(zubehör)->terminal (Linux--->Gnome-desktop)