Seite 1 von 1
Tkinter Projekt = eigenständiges Programm (OS X)
Verfasst: Mittwoch 22. Juni 2011, 19:30
von René
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...
Re: Tkinter Projekt = eigenständiges Programm (OS X)
Verfasst: Mittwoch 22. Juni 2011, 20:00
von daemonTutorials
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!
Re: Tkinter Projekt = eigenständiges Programm (OS X)
Verfasst: Mittwoch 22. Juni 2011, 20:05
von 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)
Re: Tkinter Projekt = eigenständiges Programm (OS X)
Verfasst: Mittwoch 22. Juni 2011, 21:12
von René
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.
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

Re: Tkinter Projekt = eigenständiges Programm (OS X)
Verfasst: Mittwoch 22. Juni 2011, 21:18
von 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...

Re: Tkinter Projekt = eigenständiges Programm (OS X)
Verfasst: Mittwoch 22. Juni 2011, 21:34
von René
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

Re: Tkinter Projekt = eigenständiges Programm (OS X)
Verfasst: Samstag 25. Juni 2011, 08:06
von daemonTutorials
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
Re: Tkinter Projekt = eigenständiges Programm (OS X)
Verfasst: Samstag 25. Juni 2011, 10:22
von sma
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