Ursprungsmitteilung
Thema TigerJython Standalone 
Autor Aegidius Plüss 
Eingangsdatum 2017-10-24 11:59:13.0 
Mitteilung Achtung: Man benötigt die aktuelle Version von tigerjython2.jar von (Download)

In diesem Forum wurde bereits ein Verfahren beschrieben, wie man Python-Programme ohne die Editorumgebung ausführen kann. Hier wird eine andere Variante gezeigt, die tigerjython2.jar verwendet. Da Python eine interpretierte Sprache ist, muss der Interpreter (also hier TigerJython) zusammen mit dem Programm geladen werden.


Um ein Python-Programm direkt auszuführen, ohne dass der TigerJython-Editor öffnet, geht man wie folgt vor:

Das Programm muss main.py heissen und wird in das Wurzelverzeichnis (root) von tigerjython2.jar kopiert. Unter Windows geht dies sehr einfach mit WinRAR. Dazu kopiert man main.py und tigerjython2.jar in das gleiche Verzeichnis und ruft in einem Kommandofenster (Eingabeaufforderung) auf:

winrar a tigerjython2.jar main.py

Dabei muss sich winrar.exe im Pfad befinden. Ein bereits bestehendes main.py wird damit überschrieben.

(Um main.py wieder zu entfernen, kann man aufrufen:

winrar d tigerjython2.jar main.py )

Startet man nun tigerjython2.jar wie üblich, so wird direkt das Programm main.py ausgeführt. Dabei ist aber darauf zu achten, dass das Programm mit einem Aufruf von System.exit(0) endet, da sonst die JRE nicht beendet wird. Bei einem Programm, das ein Fenster von gturtle, gpanel, gamegrid oder gconsole öffnet, kann dazu der Close-Button-Event abgefangen werden. Dabei muss java.lang.System importiert werden:

Turtle:

from gturtle import *
from java.lang import System

def onCloseClicked():
System.exit(0)

makeTurtle(closeClicked = onCloseClicked)
...


GPanel:

from gpanel import *
from java.lang import System

def onCloseClicked():
System.exit(0)

makeGPanel()
addExitListener(onCloseClicked)
...


GameGrid:

from gamegrid import *
from java.lang import System

def onCloseClicked():
System.exit(0)

makeGameGrid(10, 10, 60)
addExitListener(onCloseClicked)
show()
...



GConsole:

from gconsole import *
from java.lang import System

def onCloseClicked():
System.exit(0)

makeConsole()
addExitListener(onCloseClicked)
gprintln("Hello Console")
...


Anmerkung: Befindet sich tjstart.exe (Download) und tigerjython2.jar im gleichen Verzeichnis, kann man mit tjstart.exe das Programm starten und hat damit ähnliche Verhältnisse, wie bei einem nativen EXE.
 
 
      
Antworten
Kein Eintrag