DIE Anfängerfrage in Python...


Sephiroth

Active Member
Joined
Jul 11, 2006
Messages
658
Age
34
Location
Germany>kaiserslautern>Hohenöllen
Website
Visit site
Hallo,
habe folgende Frage mit Pyhton uf dem gp2x:
Wie kann ich eine py auf dem gp2x ausführen..
also, ich habe mit die pygame beta1 runtergeladen und den python ordner in mein root verzeichnis der sd karte kopiert.
Dann habe ich eine test.py erzeugt mit folgendem Inhalt:
Code:
for a in range(0, 501):
	print a
Dann habe ich eine Testdatei mit folgendem Inhalt erstellt:
Code:
PYTHONHOME=/mnt/sd/python
export PYTHONHOME

LD_LIBRARY_PATH=${PYTHONHOME}/extras:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH


/mnt/sd/python/python /mnt/sd/test.py > /mnt/sd/test_output.txt 2>&1

cd /usr/gp2x
./gp2xmenu
Diese Datei habe ich in test.gpe umbenant.
Jetzt habe ich beide Dateien test.py und test.gpe auf meine sd-karte ins root verzeichnis gezogen.
Und dann wollte ich diese Datei öffnen.
Aber ich bekomme nur einen schwarzen Bildschirm..
Ich verstehe nicht was bei meinen "Programm" anders ist als bei den beiden beiliegenden testprogrammen.
Oder habe ich entwas grundlegendes falsch verstanden(wie ich eine .py zur .gpe verlinke zb.?)
Hoffe mir kann jmd helfen das es mit dem Programmieren losgehen kann..

ps:Was hat es mit dieser test_output.txt auf sich? Für was ist die? was macht diese?

Gruss
 
Da kommen mehrere Dinge zusammen.

1. Print schreibt auf die Konsole. Bei den meisten Geräten landet der Konsolenoutput auf dem angeschlossene Display - beim gp2x tut's das nicht.

2. Das Display des gp2x ist über einen Framebuffer zu erreichen (/dev/fb0) und wird üblicherweise mit SDL "bemalt". Um Ausgaben zu sehen musst du also SDL bemühen.

3. In die test_output.txt werden die Konsolenausgaben deines Programms umgelenkt. Statt auf den (nicht vorhandenen) Bildschirm wird also die Ausgabe des print in die Textdatei geschrieben.

4. Vergiss .py oder .gpe oder .gpu. Das hat alles nichts zu sagen. Der Einzige Grund dass du deine Programme .gpu/.gpe nennen musst ist weil das Menue sie sonst nicht anzeigt und startet. Gmenu2x, z.B., schert sich darum (soweit ich weiss) nicht. Für das Betriebssystem ist nur das executable-Flag wichtig, welches bei FAT sowieso immer gesetzt ist.

5. Wenn du anfängst python zu lernen würde ich dir einen PC-Build von python empfehlen. Das ist bequemer zu lernen und die Programme funktionieren auf dem gp2x genau gleich.

Jeff
 
Da kommen mehrere Dinge zusammen.

1. Print schreibt auf die Konsole. Bei den meisten Geräten landet der Konsolenoutput auf dem angeschlossene Display - beim gp2x tut's das nicht.

2. Das Display des gp2x ist über einen Framebuffer zu erreichen (/dev/fb0) und wird üblicherweise mit SDL "bemalt". Um Ausgaben zu sehen musst du also SDL bemühen.

3. In die test_output.txt werden die Konsolenausgaben deines Programms umgelenkt. Statt auf den (nicht vorhandenen) Bildschirm wird also die Ausgabe des print in die Textdatei geschrieben.

4. Vergiss .py oder .gpe oder .gpu. Das hat alles nichts zu sagen. Der Einzige Grund dass du deine Programme .gpu/.gpe nennen musst ist weil das Menue sie sonst nicht anzeigt und startet. Gmenu2x, z.B., schert sich darum (soweit ich weiss) nicht. Für das Betriebssystem ist nur das executable-Flag wichtig, welches bei FAT sowieso immer gesetzt ist.

5. Wenn du anfängst python zu lernen würde ich dir einen PC-Build von python empfehlen. Das ist bequemer zu lernen und die Programme funktionieren auf dem gp2x genau gleich.

Jeff
Großes dankeschön für die Antwort!!

1)Achso, klinkt logisch..aber wieso?..
2)Aha, habe immer gedacht SDL wäre nur für aufwendige Grafiken o.ä...
muss ich mir mal ein paar tuts dazu anschauen...hat jemand irgendwelche Empfehlungen?
3)Wird diese bei jedem neustart des Programms neu überschrieben und somit das alte gelöscht?
4)Was ist die executable-Flag?...
5)Bin im moment fleißig am python lernen auf dem pc..
Aber das weit entfernte Ziel am Horizont ist das gp2x-programmieren..aber erstmal grundlagen am pc..

Gruss
 
Sephiroth said:
Da kommen mehrere Dinge zusammen.

1. Print schreibt auf die Konsole. Bei den meisten Geräten landet der Konsolenoutput auf dem angeschlossene Display - beim gp2x tut's das nicht.

2. Das Display des gp2x ist über einen Framebuffer zu erreichen (/dev/fb0) und wird üblicherweise mit SDL "bemalt". Um Ausgaben zu sehen musst du also SDL bemühen.

3. In die test_output.txt werden die Konsolenausgaben deines Programms umgelenkt. Statt auf den (nicht vorhandenen) Bildschirm wird also die Ausgabe des print in die Textdatei geschrieben.

4. Vergiss .py oder .gpe oder .gpu. Das hat alles nichts zu sagen. Der Einzige Grund dass du deine Programme .gpu/.gpe nennen musst ist weil das Menue sie sonst nicht anzeigt und startet. Gmenu2x, z.B., schert sich darum (soweit ich weiss) nicht. Für das Betriebssystem ist nur das executable-Flag wichtig, welches bei FAT sowieso immer gesetzt ist.

5. Wenn du anfängst python zu lernen würde ich dir einen PC-Build von python empfehlen. Das ist bequemer zu lernen und die Programme funktionieren auf dem gp2x genau gleich.

Jeff
Großes dankeschön für die Antwort!!

1)Achso, klinkt logisch..aber wieso?..
2)Aha, habe immer gedacht SDL wäre nur für aufwendige Grafiken o.ä...
muss ich mir mal ein paar tuts dazu anschauen...hat jemand irgendwelche Empfehlungen?
3)Wird diese bei jedem neustart des Programms neu überschrieben und somit das alte gelöscht?
4)Was ist die executable-Flag?...
5)Bin im moment fleißig am python lernen auf dem pc..
Aber das weit entfernte Ziel am Horizont ist das gp2x-programmieren..aber erstmal grundlagen am pc..

Gruss

2. Normalerweise benutzt man SDL auch nur, sobald man von der Konsole weg will, auf dem GP2X wird die Konsole aber nicht aufs Display geleitet, so dass du alles in SDL machen musst ;)
3. Wenn du einen ">" nimmst überschreibt er die Datei, wenn du ">>" nimmst hängt er es hinten dran :)
4. Es gibt im Grunde 3 Flags: Lesen (Datei kann gelesen werden), Schreiben ( ... ) und Ausführen [Executable] (Datei kann ausgeführt werden -> Binärcode, ...)
 
2. Normalerweise benutzt man SDL auch nur, sobald man von der Konsole weg will, auf dem GP2X wird die Konsole aber nicht aufs Display geleitet, so dass du alles in SDL machen musst
3. Wenn du einen ">" nimmst überschreibt er die Datei, wenn du ">>" nimmst hängt er es hinten dran
4. Es gibt im Grunde 3 Flags: Lesen (Datei kann gelesen werden), Schreiben ( ... ) und Ausführen [Executable] (Datei kann ausgeführt werden -> Binärcode, ...)
2)Achso...Alles so umständlich..tztz..naja erstmal kümmer ich mich jetzt um wxPython..
Wieso wird die KOnsole nicht aufs Display geleitet? Wäre doch einfacher einfachere Programme zu schrieben und auszuführen..
3)>..>>.. :twisted: ^^
4)Achso, und wie kann man festlegen ob ein read-flag oder so gesetzt werden soll?
Man kannja aus einer textdatei read-flag ne executable-flag datei machen, aber wie wird speziell der flag konvertiert?
Hoffe jmd versteht mein denglisch..

Gruss
 
Sephiroth said:
2. Normalerweise benutzt man SDL auch nur, sobald man von der Konsole weg will, auf dem GP2X wird die Konsole aber nicht aufs Display geleitet, so dass du alles in SDL machen musst
3. Wenn du einen ">" nimmst überschreibt er die Datei, wenn du ">>" nimmst hängt er es hinten dran
4. Es gibt im Grunde 3 Flags: Lesen (Datei kann gelesen werden), Schreiben ( ... ) und Ausführen [Executable] (Datei kann ausgeführt werden -> Binärcode, ...)
2)Achso...Alles so umständlich..tztz..naja erstmal kümmer ich mich jetzt um wxPython..
Wieso wird die KOnsole nicht aufs Display geleitet? Wäre doch einfacher einfachere Programme zu schrieben und auszuführen..
3)>..>>.. :twisted: ^^
4)Achso, und wie kann man festlegen ob ein read-flag oder so gesetzt werden soll?
Man kannja aus einer textdatei read-flag ne executable-flag datei machen, aber wie wird speziell der flag konvertiert?
Hoffe jmd versteht mein denglisch..

Gruss

2. Ich nehme an, die von GPH haben das nicht gerafft bekommen :/
3. Probiers einfach mal aus :)
4. In einem Fat(32) System sind alle flags gesetzt, da er die nicht so wirklich kapiert :) Wenn du jetzt EXT oder Reiser nehmen würdes könntest du die einzeln setzen. Kug dir einfach mal den Wikipedia Artikel an:
chmod
 
2. Ich nehme an, die von GPH haben das nicht gerafft bekommen :/
3. Probiers einfach mal aus
4. In einem Fat(32) System sind alle flags gesetzt, da er die nicht so wirklich kapiert Wenn du jetzt EXT oder Reiser nehmen würdes könntest du die einzeln setzen. Kug dir einfach mal den Wikipedia Artikel an:
chmod
2)*grummel* naja lernen wir halt sdl...
3)alles klar;)
4)habe sogar 2 ext3 partitionen...:)
Danke für neuen Lesestoff..^^

Gruss
 
Sephiroth said:
2)Achso...Alles so umständlich..tztz..naja erstmal kümmer ich mich jetzt um wxPython..

Vorsicht: Die wx-Sachen laufen auf dem gp2x nicht. Da musst plain SDL nehmen (und alles von Hand malen).
Sephiroth said:
Wieso wird die KOnsole nicht aufs Display geleitet? Wäre doch einfacher einfachere Programme zu schrieben und auszuführen..

Nein, wäre es nicht. Der gp2x ist eine Konsole, da malt man sowieso alles selbst und nachdem das Dingens sowieso keine Tastatur hat braucht man auch keine grossartige Textschnittstelle.

Ein anderer Grund dagegen ist folgender.
Wenn textausgaben auf dem Display landeten, würden sie die Spielgrafik übermalen. Als Entwickler würde man also dazu neigen sämtlichen output zu vermeiden oder wegzuwerfen.
Konsolenoutput ist aber praktisch zum debuggen und kann gesehen werden, wenn man mit telnet auf den gp2x geht und damit das Programm startet. Man kriegt die Grafik auf dem gp2x und den debug-output auf dem Terminalprogramm am PC.

Also alles gut so wie's ist.

Jeff
 
Vorsicht: Die wx-Sachen laufen auf dem gp2x nicht. Da musst plain SDL nehmen (und alles von Hand malen).
i know..
Habe ja auch für den Pc gemeint. Bin mir im moment aber nicht sicher obich erstmal mit wxpython am pc rumprobieren soll doer gleihc mit sdl anfangen soll...naja, ich schau mir mal sdl tutorials an
Nein, wäre es nicht. Der gp2x ist eine Konsole, da malt man sowieso alles selbst und nachdem das Dingens sowieso keine Tastatur hat braucht man auch keine grossartige Textschnittstelle.

Ein anderer Grund dagegen ist folgender.
Wenn textausgaben auf dem Display landeten, würden sie die Spielgrafik übermalen. Als Entwickler würde man also dazu neigen sämtlichen output zu vermeiden oder wegzuwerfen.
Konsolenoutput ist aber praktisch zum debuggen und kann gesehen werden, wenn man mit telnet auf den gp2x geht und damit das Programm startet. Man kriegt die Grafik auf dem gp2x und den debug-output auf dem Terminalprogramm am PC.

Also alles gut so wie's ist.
Danke für die Aufklärung..:)!

Gruss
 
okay, ich weiß, ist vielleicht etwas verspätet, aber wo ich grad so drüber stolper ;-)

Python lernen is recht einfach, da es das (jetzt bloß nicht lachen, bin ja auch schon über 20 *g*) "Python für Kids"-Buch gibt
damit habs ich mir beigebracht, geht unglaublich fix, am anfang kommt man sich ein bissal verarsch vor, aber danach hat man die grundlagen mal sicher drauf...

dann bin ich auf "Objektorientiete Programmierung mit Python" umgestiegen und seit ich meine sabberdrüser aufgrund der aussichten der pandora nicht mehr halten kann hab ich mit pygame angefangen - das is ein zusätzliches paket, mit dem du ohnehin auf die SDL-sachen zugreifen kannst

--> ich würd sagen das is ne halbwegs brauchbare lernkette für das ganze ;-)

falls sich noch jemand findet, der pygame-programmiert (oder eben grad lernt) können wir ja nen diskussionsthread aufmachen.... von wegen anfängerprobleme und gefundene tuts oder so ;-)

gute nacht alle da drußen,....

edit: um gottes wille, da seh ich erst dass das 06 war.... sorry fürs so weit hochholen ^^°
 
okay, ich weiß, ist vielleicht etwas verspätet, aber wo ich grad so drüber stolper Wink

Python lernen is recht einfach, da es das (jetzt bloß nicht lachen, bin ja auch schon über 20 *g*) "Python für Kids"-Buch gibt
damit habs ich mir beigebracht, geht unglaublich fix, am anfang kommt man sich ein bissal verarsch vor, aber danach hat man die grundlagen mal sicher drauf...

dann bin ich auf "Objektorientiete Programmierung mit Python" umgestiegen und seit ich meine sabberdrüser aufgrund der aussichten der pandora nicht mehr halten kann hab ich mit pygame angefangen - das is ein zusätzliches paket, mit dem du ohnehin auf die SDL-sachen zugreifen kannst

--> ich würd sagen das is ne halbwegs brauchbare lernkette für das ganze Wink

falls sich noch jemand findet, der pygame-programmiert (oder eben grad lernt) können wir ja nen diskussionsthread aufmachen.... von wegen anfängerprobleme und gefundene tuts oder so Wink

gute nacht alle da drußen,....

edit: um gottes wille, da seh ich erst dass das 06 war.... sorry fürs so weit hochholen ^^°

Macht garnichts..wir könnten ja den Thread "resetten"...hoho (ich lach mich tot ) :lol:


Da die Sache mit dem Programmieren noch etwas .. schleppend vorangeht, bin ich immernoch(nach fast 2Jahren) dankbar für jeden Link/Buchtipp:)
Ist das das Buch das du meinst?: klicken

Gruss
 
*gg* in dem fall passt der namens - witz mal ;-)

ja. das ist es

wie gesagt, macht nen sehr einfachen einstieg in die snytax (SEHR einfach) sodass auch noch über lang und bret erklärt ird was ne for-schleife is....
theoretisch kann man auch mit "Objektorientierte Programmierung mit Python" einsteigen - da wird auch alles erklärt und man fühlt sich nicht wie ein fünfjähriger...
sind auch ausreichend übungsbeispiele drin.... hab da selber noch net alles geschafft (hänge an den threads - zeitproblem)

hast du in PyGame schon reingeschnuppert?
 
Toll das er hier auch Python Programmierer gibt. Ich kann Python jetzt schon 4 Monate und es ist eine tolle Programmiersprache. Es wird aber erst schwierig wenn man mit OOP anfängt...

Gibt es eigentlich schon eine neue Python und Pygame version für den GP2X? ich kann nur 2.4 finden im file-archiv... :huh:
 
wie gesagt, macht nen sehr einfachen einstieg in die snytax (SEHR einfach) sodass auch noch über lang und bret erklärt ird was ne for-schleife is....
theoretisch kann man auch mit "Objektorientierte Programmierung mit Python" einsteigen - da wird auch alles erklärt und man fühlt sich nicht wie ein fünfjähriger...
sind auch ausreichend übungsbeispiele drin.... hab da selber noch net alles geschafft (hänge an den threads - zeitproblem)

hast du in PyGame schon reingeschnuppert?

Jo, die Syntax ist denke ich weniger das Problem.
Beschäftige mich eher mit dem was "dahinter steckt"(weiß nicht wie ichs nennen soll). Also was zb pygame überhaupt ist, wies funktioniert, für was es da ist. Jetzt mal pygame als Beispiel.

Aber wie gesagt mache ziemlich wenig zu dem Thema(obwohl ich grade wieder Lust bekomme..:) )
Spiel eindeutig zuviel wow. :lol:

Also das was ich kann hab ich mir mit A Byte of Python beigracht.
Link
Kann das auch nur weiterempfehlen, falls es jemand noch nicht kennt:)

Gruss
 
Es gibt sie doch ... Python / pygame Programmierer.
Bin zufällig über Python gefallen als ich eine Spiele Sprache gesucht habe die nicht so nerfig wie C/C++ Plotformübergreifend und mir von der syntax gefällt.
Hatte mir Ruby angeschaut was mir aber nicht so richtig überzeugen.
Da GLBasic noch nicht richtig unter Mac funktioniert und LUA ohne C/C++ nicht wirklich funktioniert bin ich bei Python gelandet.
Beruflich schlage ich mich etwas mit VB durch.

Überrascht bin ich wo Python überall eingesetzt wird.
Dreambox(Enigma2)
GPx2 :gp2x: (Habe meinen schon vor Monaten bestellt)
win/mac/linux/Beos ...
u.s.w

Bin zurzeit noch am anfang ...
Habe aber schon einen erfolg das Skripte unter Win und Mac laufen ohne was am Code zu ändern.(Mit bildern verpakt ineiner .app):D

Habe auch ein gutes Tutorial gefunden:
http://rene.f0o.com/mywiki/PythonGameProgramming
Ist in Englisch aber genial. Beginnt direkt mit einem gutem aufbau (Klassen für Gegner und Held u.s.w)
Sonstige Links für Python:
http://openbook.galileocomputing.de/python/python_kapitel_06_002.htm
http://python.net/~gherman/publications/tut-de/online/tut/tut.html
 
Back
Top