Tkinter Projekt = eigenständiges Programm (OS X)

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
René
User
Beiträge: 6
Registriert: Mittwoch 18. Mai 2011, 22:44

Hallo zusammen,

ich bin ja immer noch dran mir einen überblick über python zu verschaffen und langsam scheine ich auch vieles zu verstehen, doch eines ist mir noch unklar! Ich habe mir ein kleines "Programm" gebastelt, einen Taschenrechner, mit Tkinter. Wie schaffe ich es jetzt daraus ein eigenständiges Programm zu machen, ohne das ich es erst in der IDLE öffnen und ausführen muss?

Ich finde dazu leider keinerlei Informationen und auch die Bücher bzw. Videotrainings, die ich mir dazu geholt habe bringen mir kein weiteres Wissen. Habt Ihr zufällig da etwas auf lager, eventuell ein beispiel an dem ich überhaupt mal sehen kann wie so etwas funktioniert, denn momentan fische ich im trüben :)


Wäre echt für jeden Tipp dankbar...
Benutzeravatar
daemonTutorials
User
Beiträge: 171
Registriert: Sonntag 6. Februar 2011, 12:06
Kontaktdaten:

Du musst ist nicht per IDLE starten.
Das geht einfach, indem du per Console auf den Pfad navigierst und per "python datei.py" startest.
Du kannst aber auch statt *.py die Dateiendung *.pyw nehmen, dann musst du nur eine Verknüpfung setzen und das Programm wird gestartet!
LG Maik
deets

Google mal nach py2app. Wenn du das installiert hast (setuptools, easy_install helfen), dann machst du einfach das hier:

Code: Alles auswählen


import sys
from setuptools import setup, find_packages
import glob, subprocess
import os

version = "0.1" 



setup(
    name = "TKInterTest",
    version = version,
    packages = find_packages(),
    author = "Du",
    author_email = "deine@email.de",
    description = "A demo project to show how to use py2app with TKinter",
    license = "MIT",
    keywords = "python tkinter",
    app=["TKInterTest.py"],
)
Wenn du das mit

python setup.py py2app

laufen laesst, kommt in einem Unterordner "dist" ein OSX-Application-bundle bei rum. Das kannst du zB nach Applications verschieben, und das sollte auch gleich das Python mitbringen und auf jedem Rechner laufen (OSX Versions-Kram mal aussen vor, da muss man uU aufpassen)
René
User
Beiträge: 6
Registriert: Mittwoch 18. Mai 2011, 22:44

Hey vielen dank für die Antwort :)

Ich habe py2app mittels easy_install auch installiert, doch kommt dann eine Fehlermeldung da das Modul setupstools nicht gefunden werden kann.

Code: Alles auswählen

No module named setuptools
Ich habe jetzt auch mal gegooglet, doch finde ich nicht herraus wie ich dieses Modul installieren kann...


Achso und noch eine kleine Frage, ich kann mein kleines Programm doch auch in die setup.py selbst rein schreiben, also unter das setup(...)?


Beste Grüße
René

Edit:
Habe es herraus bekommen :)
Zuletzt geändert von René am Mittwoch 22. Juni 2011, 21:27, insgesamt 1-mal geändert.
deets

Das hoert sich seltsam an - denn easy_install ist ein tool, das mit setuptools installiert wird. Ich vermute mal, du hast da etwas Konfusion mit verschiedenen Python-Versionen und wo dann setuptools installiert ist und welches Python auf der Kommandozeile einfach nur "python" heisst. Das muss schon alles das "richtige" sein.

Und nein, du kannst dein kleines Programm da nicht reinschreiben. Jedenfalls nicht ohne Verrenkungen, die sich nicht gehoeren... ;)
René
User
Beiträge: 6
Registriert: Mittwoch 18. Mai 2011, 22:44

Habe das Problem gelöst bekommen, anscheinend wurde ds doch nicht alles richtig installiert, nach dem erneuten Ausführen klappte alles und nun habe ich meine .app :)

Vielen dank noch einmal für die Idiotenanleitung die ich benötigt habe :P
Benutzeravatar
daemonTutorials
User
Beiträge: 171
Registriert: Sonntag 6. Februar 2011, 12:06
Kontaktdaten:

Also eigenständiges OSX Programm läuft es so natürlich auch! Ich dachte du wolltest das Programm ohne IDLE starten, aber du wolltest es wohl als Standalone-APP haben. Naja, OS X ist nicht mein Fach - meins ist Linux ;-) - Das beste was es gibt hihi
LG Maik
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Eigentlich ist py2app vorinstalliert und kann mit /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/bin/py2applet einfach aufgerufen werden. Zusammen mit einer Python-Datei baut das eine gleichnamige App für OS X. Ist dann etwa 12 MB groß. Icon und andere Dinge kann man entsprechend konfigurieren.

Vielleicht ist mein Tipp aber auch nicht gut, denn wenn ich versuche, die Anwendung per Doppelklick zu starten, kommt ein Fehler, weil das Carbon-Modul Evt kein Attribut TickCount hat. Irgendwie wird da ein uralter Runloop für Mac OS 9 oder so angezogen. Eigentlich soll der wohl nur kommen, wenn man argv-Emulation anschaltet, aber das ist standardmäßig an und kann nicht abgeschaltet werden. Wie auch immer, wenn man die Datei Contents/Resources/__boot__.py löscht und mit einer Datei ersetzt, die die eigene Datei importiert (bei mir hello.py), also "import hello", dann startet auch mein Tk-Beispiel.

Stefan
Antworten