Python: Kompilieren?

Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von martinustreveri.

    Hi.
    Python ist eine Scriptsprache (also eine Interpreterbasierte Sprache), dass heißt, kompilieren ist nicht möglich. Du bräuchtest schon einen Interpreter auf deinem iPod (ich glaube aber nicht, dass es sowas gibt).

    Gruß
    To make foobar2000 a real random music player, I figured out the only way to achieve this is to use Windows Media Player.

    At some point in time, you recognize that knowing more does not necessarily make you more happy.
    Keine Ahnung was ein Homescreen ist, ich habe kein "Smartphone" jeglicher Art. Dennoch brauchst du in irgendeiner Form den Pythoninterpreter auf deinem Gerät, egal ob Handy, PC oder Smartphone.

    Gruß
    To make foobar2000 a real random music player, I figured out the only way to achieve this is to use Windows Media Player.

    At some point in time, you recognize that knowing more does not necessarily make you more happy.
    Nun möchte ich mein Programm kompilieren, sodass es auf meinem Homescreen
    landet (und ich es später öffnen kann, habe ein simples Programm:

    Python wird NIEMALS kompiliert, weil es eine interpretierte Sprache ist. Punkt und aus. Auch nicht auf dem iPhone oder dem iPod-Touch. Es gibt für Windows und den Mac allerdings Möglichkeiten namens cx_freeze und py2exe, welche dir den Python Interpreter samt den verwendeten Libs in ein Verzeichnis packen und dem User eine Exe vorgaukeln. Ob man's braucht?

    Nun muss ich halt noch ein bisschen die Sprache bzw vor allem PyObjC ansehen

    Das hat mit der Frage nach der Verknüpfung auf dem Homescreen (ist nämlich nur ein Bash-Script, welches am richtigen Ort abgespeicher sein muss) nichts zu tun, aber bitte, hier ein guter Rat: lerne erst Python wirklich gut, bevor du dich an PyObjc wagst, das ist alles andere als ein triviales Thema. Jedes andere Python-GUI-Toolkit ist IMO leichter zur verstehen, als das. Da musst du dein Hirn nämlich neben Python und GUI-Programmierung auch noch mit den Eigenheiten von Objective C zupflastern. No trivial task.

    Zu dem Bash-Script und dem Homescreen nochmals: Wenn du Python schon auf deinem iIrgendwas hast, ist ein Jailbreak drauf und du kannst via WinSCP/SSH/Putty/... drauf zugreifen. Sieh dir die Ordnerhirarachie des Geräts an, dann kommst du sehr schnell dahinter, WO was zu finden ist. ;)
    Du willst Python programmieren, hast aber keine Ahnung, wie du 'ne Konsole auf dein iDings zauberst?

    Danke, aber wirklich verstehen tue ich das nicht - iPhönes/iPöd tüches öffnen nämlich nur GUI-Apps.

    Falsch.

    Heißt solche Scripts müsste man über umwege - die ich nicht wirklich erfassen will - öffnen.

    Nein, es sind keine Umwege - es ist der Standardweg.

    Aber hier nochmal zum Mitschreiben:
    Du hast ein iPhone oder iPod-Touch auf dem ein Jailbreak ist. Du hast entweder Cydia, RedSn0w, BlackRa1n oder irgendsowas als App auf deinem Home-Screen. Starte es, installiere Python, Python-Demo, Bash und die Dev-Tools (Abhängigkeiten werden eh aufgelöst).
    Ein Editor wäre auch noch ganz gut.

    Jetzt hast du eine "Hello Python"-App auf deinem iDings. Wenn du nun mit WinSCP oder mit Putty(via SSH) auf dein iDings zugreifst, kannst du die Ordnerstruktur auslesen und siehts, wie die Apps auf deinen Home-Screen kommen. Somit ist das eine Problem JETZT gelöst.

    Das andere für dich ist: Python ist mehr, als nur eine GUI. Normalerweise schreibt man sogar erst mal Konsolenapps, auch das funktioniert auf dem iDings ganz gut. Man muss halt umdenken, wenn man zu lange von Klicki-Bunti-IDEs wie Visual Studio bevormundet wurde.
    Wenn man keine Ahnung von Python und dessen Objektsystem hat, ist es keine sehr gute Idee, gleich in PyObjc eine GUI schreiben zu wollen (ich halte das aber eh in allen Programmiersprachen für den besten Weg. Wer kann denn schon ohne Visual Studio auf der Kommandozeile ein Projek erstellen und kompilieren?)!

    Gleich GUI haben schon viele versucht (liest man ja auch in den Foren), aber schaffen tun es die Wenigsten. Das ist genauso ein Phänomen wie "ich hab jetzt ne IDE zum machen von Spieln und mach ein neues, besseres Diablo/San Andreas/Crysis/Battlefield/Whatever mit MMO und allem drum und dran"!
    Einfach nicht realisierbar.
    Falsch - würde man sich das nämlich genau ansehen, sieht man, dass sich hinter der .py Datei PyObjC Script versteckt.
    Es gibt keine "PyObjC"-Skripte. Es gibt Python-Skripte, welche das PyObjC-Modul benutzen, das ist aber was anderes.

    Wenn ich jetzt einfach das Script ändere, sagen wir so:


    Quellcode

    1. text = 'EinText'
    2. print (text)


    Öffnet sich lediglich ein Fenster, worauf es sich wieder schließt.

    Ja, das ist dann eine Fehlermelung. Auf dem iPhone läuft nämlich Python 2.5.1, da ist aber print keine Funktion, sondern ein Schlüsselwort.
    Das wüsstest du, wenn du eine Konsole auf deinem iDings hättest und länger als 3 Wochen mit Python 3.x herumgespielt hättest.

    kein richtiges Python ist, viel mehr Objective-C mit Python Syntax.

    8o
    Danke für die Erleuchtung. Jetzt kann ich doch glatt die letzten Jahre Python-Know-How wegwerfen...
    Und da es in Objective-C eine Select-Case-Anweisung gibt, gibt's den jetzt in Python auch, oder?

    Aber nochmal:
    auf dem iPhone läuft ein Unix/MacOS X, nur wird die Konsole unterdrückt. Die kann mann aber nachinstallieren. Ich habe dir gesagt, das solltest du machen, weil das Entwickeln von Anwendungen dann nämlich um ein vielfaches einfacher ist.
    Auch habe ich erwähnt, dass die Hello-Python-GUI-Demo über ein Shell-Skript gestartet wird. Wenn ich was über ein Shell-Skript starten kann, setzt das voraus, dass auch irgendwo eine Shell läuft, würde ich sagen, oder? Nur weil sie nicht sichtbar ist, heißt das nicht, dass sie nicht da ist.

    martinustreveri schrieb:

    Mein Mathelehrer hat mir 3 Wochen lang Python beigebracht.
    Ein 'Noob' bin ich wohl nicht mehr

    Wenn du vorher bereits 4-6 Jahre lang C programmiert hast oder ein abgeschlossenes Informatik-Studium hast, dürfte das in den Bereich des möglichen fallen. Andernfalls würde ich das ggfs als vermutlich grobe Selbstüberschätzung qualifizieren.

    @Auvid:
    wenn man zu lange von Klicki-Bunti-IDEs wie Visual Studio bevormundet wurde.
    Als ich angefangen habe zu programmieren, gabs keine klicki bunti IDEs. Geschweige denn graphische OS (Lisa fand ich nur laaaaaaaangsam ;) ) Amen, dass sich das geändert hat!

    "Auvid" schrieb:

    Zu dem Bash-Script und dem Homescreen nochmals: Wenn du Python schon auf deinem iIrgendwas hast, ist ein Jailbreak drauf und du kannst via WinSCP/SSH/Putty/... drauf zugreifen. Sieh dir die Ordnerhirarachie des Geräts an, dann kommst du sehr schnell dahinter, WO was zu finden ist.


    Auch habe ich erwähnt, dass die Hello-Python-GUI-Demo über ein Shell-Skript gestartet wird.

    Achja? Dann hab ich wohl was verpasst.

    Ja hast du. Aber lass gut sein.

    Bitte entschuldige erst mal meine schroffe Art - das war nicht korrekt von mir. Aber das was du vorhast, ist halt nicht mehr "Krabbelstubenzeugs", da muss man sich halt mit der Materie (und dazu gehören hier eindeutig Konsolenwerkzeuge, Shells, ...) auch wirklich auseinandersetzen. Das ist nun mal der einzige Weg, Python und das iDing zu verheiraten.

    Das wüsstest du, wenn du eine Konsole auf deinem iDings hättest und länger als 3 Wochen mit Python 3.x herumgespielt hättest.
    Meinetwegen.

    Auch deswegen rede ich von der Konsole - sie ist für Python einfach mega-wichtig. Ausserdem kennst du unter Python sichterlich den Live-Interpreter. Den hast du halt am iDing auch nur, wenn du die Konsole installierst. Du wirst halt einfach mehr Freude mit dem Teil haben!

    Es heißt iPhone OS

    Es mag heißen wie es will, es ist und bleibt ein Unix/Mac os X.