2010-11-27 7 views
2

Ich habe eine Tkinter-App in Python geschrieben, und ich möchte "native" (einfach zu laufen) Mac und Windows ausführbare Dateien davon machen. Ich habe erfolgreich eine Windows .exe mit py2exe erstellt, aber der äquivalente Prozess mit py2app funktioniert nicht.Hilfe beim Erstellen einer Mac-Anwendung von Python mit Py2App?

Hier ist meine setup.py:

from setuptools import setup 
import sys
MAIN_SCRIPT = "myapp.py" WINDOWS_ICON = "myicon.ico" MAC_ICON = "myicon.icns"
if sys.platform in ("win32", "win64"): # does win64 exist? import py2exe setup(windows=[{ "script":MAIN_SCRIPT, "icon_resources":[(0x0004, WINDOWS_ICON)] }], ) elif sys.platform == "darwin": import py2app setup(app=[MAIN_SCRIPT], # doesn't include the icon yet setup_requires=["py2app"], )

ich nur cd meiner app und führen Sie python setup.py py2app. Die .app erscheint ohne Fehler, aber es stürzt beim Start mit "myapp hat einen schwerwiegenden Fehler festgestellt und wird jetzt beendet."

Ich betreibe Snow Leopard, und ich habe dies mit dem Standard Apple Python 2.6 und Python25 von MacPorts ausprobiert. Ich habe irgendwo gelesen, dass es besser ist, ein anderes Python zu verwenden, da py2app die Systemversion in Ihrer App nicht bündelt.

EDIT: Hier ist, was die Mac-Konsole dazu zu sagen hat:

11/27/10 1:54:44 PM [0x0-0x80080].org.pythonmac.unspecified.myapp[77495] dlsym(0x10b120, Py_SetProgramName): symbol not found 
11/27/10 1:54:46 PM [0x0-0x80080].org.pythonmac.unspecified.myapp[77495] 0x99274242 
11/27/10 1:54:46 PM com.apple.launchd.peruser.501[185] ([0x0-0x80080].org.pythonmac.unspecified.myapp[77495]) Exited with exit code: 255 

+0

FYI: win64 existiert nicht. Siehe http://docs.python.org/release/3.0.1/library/sys.html#sys.platform. Gibt es auch irgendwo in py2app ein Anwendungslog/Debug-Flag? Das wäre sehr hilfreich beim Debuggen des Problems. Ich vermute, es ist irgendwo ein Importfehler. – sdolan

+0

Ich habe die Frage mit der Konsolenausgabe aktualisiert. py2app selbst geht mit [pdb] (http://docs.python.org/library/pdb.html) in den Debugging-Modus, wenn es nötig ist, aber es wurde korrekt beendet. Ich frage mich, ob ich pdb auch zur laufenden App hinzufügen kann? – Jeff

Antwort

0

Stellt sich heraus, es ist ein Problem bei der Verwendung Snow Leopard war. Ich habe es in der Schule auf einer Leopard-Maschine versucht und es funktioniert gut.

Verwandte Themen