Hallo Besucher, der Thread wurde 16k mal aufgerufen und enthält 42 Antworten

letzter Beitrag von BladeRunner am

Wie bringt man ein abgespeichertes Python-Programm zum Laufen?

  • Ich kann Dir das Buch 'Raspberry Pi - Das umfassende Handbuch' von Galileo Computing (ISBN 978-3-8362-2933-3) empfehlen. Kostet 39,90€, ist meiner Meinung nach aber das Geld wert. Damit solltest Du Deine Probleme lösen können, dort gibts eine ausführliche Einführung in Python mit vielen Beispielen auf dem Raspi. Es müsste zwischenzeitlich eine aktuellere Version des Buches geben (bezogen auf Raspi 3), einfach mal googeln.

  • Ich habe mir vor 3 Wochen die Zeitschrift für Python gekauft (10 Euro). Tut mir leid. Damit kann ich nicht viel anfangen. Zuviele Fehler drin. Es löschte mich förmlich ab. Unter Lehrbuch verstehe ich was anderes. Die Autoren schreiben für sich selber. Das ist zu wenig. Es gibt Lehrer und Leerer.


    Aber ich bin's gewohnt - auf dem Computermarkt.


    jomodore

  • Ich will überhaupt nicht beleidigend sein, aber dir die Wahrheit nicht zu sagen bringt dich auch nicht weiter, daher:


    Und kapieren tue ich das auch nicht, was ich mache, weil der vermeintliche Lehrer alles Wichtige weglässt, was ich wissen sollte. Das ist Kraut und Rüben. Und die Beispiele, die sie bringen, sind für mich recht ärmlich.

    Das liegt daran, dass dir halt essentielle Grundlagen fehlen, auf die jedes Tutorial zurückgreift. In der heutigen Welt sollte jedem Anwender klar sein, was z. B. ein Editor ist, egal auf welchem Betriebssystem er unterwegs ist. Wenn du eine Anleitung zum Stricken in der Brigitte findest, erklärt dir auch niemand, welche Masche du wie anlegen musst, das wird vorausgesetzt. Wenn du einen Videorecorder kaufst (um mal nicht ganz so neuzeitlich zu sein), mit dem du was aufnehmen willst, musst du wissen, was eine Fernsehsendung und ein Programmspeicherplatz ist und wie man die Uhrzeit abliest, sonst kannst du nie eine Aufnahme programmeiren. Das mit der Uhrzeit z. B. erklärt dir aber keine Anleitung der Welt, das wird als (Allgemein-) Wissen vorausgesetzt. Sonst müsste ja jede Anleitung auf der ganzen Welt immer bei Adam und Eva anfangen. ?(


    Ich weiß nicht mal, was ein Skript ist oder ein Terminal oder ein Texteditor oder ... oder .... und wie die zusammenhängen.


    Quod erat demonstrandum.
    Ich empfehle http://de.wikipedia.org/ - zwar stimmt dort auch nicht alles zu 100 %, aber um einen Überblick zu bekommen, was ein Texteditor oder ein Skript bzw. eine Skriptsprache ist reicht es. Du kannst nicht erwarten, dass dir jeder Autor eines Tutorials deine Mahlzeit essfertig vorkaut, sodass du nur mehr saugen und schlucken musst.

    Ich habe mir vor 3 Wochen die Zeitschrift für Python gekauft (10 Euro). Tut mir leid. Damit kann ich nicht viel anfangen. Zuviele Fehler drin. Es löschte mich förmlich ab. Unter Lehrbuch verstehe ich was anderes.


    Wie kannst du das beurteilen, wenn du selbst sagst, dass du in Python noch nichts zufriedenstellend zum Laufen gebracht hast? ?(


    Und zum Thema "40 Stunden investiert": Was glaiubst du, wieviele Stunden hier Leute "investiert" haben, um sich alleine die Grundlagen dafür anzueignen, z. B. ein SD2IEC oder ein EasyFlash3 zu entwerfen und zu bauen? Ich rede noch nicht mal vom Projekt selbst, das auch noch mal Äonen an Zeit verschlingt.


    In einem gebe ich dir recht:
    Man kann sich manches nicht selbst beibringen, zumindest nicht mit endlichem Aufwand. Oft braucht man einen Anschub von außen. Dafür gibt es z. B. Kurse, oder man fragt jemanden. Da muss man dann allerdings auch geduldig zuhören und versuchen das Gehörte zu verinnerlichen und umzusetzen, oder aber entsprechend nachfragen. Auch da kann man nicht erwarten, dass einem der Inhalt einfach so in den Schoß fällt. Manchmal muss man aber leider auch einfach erkennen, dass das Thema nichts für einen ist und es gut sen lassen.


    Nichts für ungut, ich will auf keinen Fall beleidigend oder verletzend sein.
    -kinzi.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Man gibt eine Programmzeile ein, dann kommt Fehlermeldung. Habe das Heft nicht bei mir. Ab Mittwoch könnte ich das konkretisieren.


    jomodore

    Das waere sehr praktisch. Fehler koennen zwar durchaus auch in Publikationen vorkommen... aber irgendwie habe ich das Gefuehl, dass es sich hierbei um einen Anwenderfehler handelt.

  • Welches Heft?
    Welche Zeile?
    Welcher Fehler?
    Konkretisieren wäre hier sehr hilfreich.


    Es ist leicht zu konstatieren dass da nur Murks steht, allein: deinen bisherigen Ausführungen hier würde ich annehmen dass der Fehler NICHT beim Heft liegt.
    Daher: Werde konkret, und man kann ganz gezielt schauen wo der Fehler liegt.
    Nochmal: Ich habe programmieren (wie wohl viele hier) noch ohne Hilfe durch Internet und Co. gelernt, und das in diversen Dialekten. Hat man das Konzept als solches erst mal verinnerlicht (Und Python ist da sehr nah an Basic und Co.) geht es im Wesentlichen nur noch darum die Grammatik der Sprache zu begreifen (hier in Python zB Einrückung als Sprachelement) und die Werkzeuge kennen zu lernen.
    Das Programmieren als solches bleibt sich gleich - Problemstellung erkennen, zerlegen, Algorithmen entwerfen und implementieren.
    Grade bei prozeduralen (und auch OOP) Ansätzen bleibt es sich doch gleich ob ich später:


    FooBar(blub)
    foobar(blub);
    CFoo.FooBar(blub);
    CALL FooBAR with blub AS Integer.
    ...
    ...
    aufrufe.
    Es ist nur Syntax.


    Mir gingen (und gehen) bei C/++ die Make-file Geschichten und Linker auf die Nüsse, bin nie damit warm geworden. Daher bevorzuge ich für nahezu alles mein gelibtes BlitzMax. Aber das bedeutet nicht dass C schlecht wäre. Die Toolchain sagt mir nur nicht zu.
    (Und ich finde das ; als Zwangselement nicht so prickelnd, ebenso wie mich bei Python die Einrückungen als fester Bestandteil der Grammatik stören. Dennoch kann ich beides nutzen, es sind halt nur nicht meine Favoriten).

  • Soviel ich weiss hat Jommodore einen Mac. Ich habe mir deshalb mal die Muehe gemacht und auf meinem MBP das Python Paket runtergeladen, installiert und im Terminal gestartet (mit "Python" und ENTER druecken) und PRINT "Hello World!" erfolgreich ausgefuehrt.


    Dauerte ca. 5 Minuten bzw. weil ich noch Screenshots von jedem Schritt gemacht habe, etwas laenger am Schluss.
    Ist aber keine Hexerei. Ich stelle das mal zusammen und hier rein, wenn ich heute zuhause Zeit habe.


    Wenn man nicht weiss, wo/was/wie ein Terminal und ein Texteditor ist, dann dauert's halt laenger.
    Aber auch hier kann man in Google in einer Minute finden mit z.B. "Termimal starten in MacOSX":
    http://www.blog-it-solutions.de/mac-os-terminal-starten/
    https://support.apple.com/de-de/HT2523

  • Sorry, dass es so lange dauert....bin gerade im Büro sehr beschäftigt diese Tage.


    Ich habe mal die ersten Schritte auf dem Mac in einem kleinen 12seitigen Schritt-für-Schritt Tutorial dokumentiert:

    • Download und Installation von Python 3.6.1
    • Direktmodus ausführen
    • kleines Testprogramm mit dem "TextEdit" von MacOSX erstellen und ausführen

    Das doofe "TextEdit" auf dem Mac ist so beknackt, ich musste ein paar Anläufe und Google-Suchen machen, um Python Scripts zum Laufen zu kriegen.
    Ganz wichtig sind hier das Ausschalten der Autokerrekturen, welche die getippte Anführungszeichen durch was Anderes ersetzen.


    Da ist ein echter Codeeditor schon besser als TextEdit. Ich verwende dazu auf dem Mac wie auch Windows "Notepad++", wollte das aber nicht hier voraussetzen für das Beispiel.
    Wer länger mit dem TextEdit arbeitet, wird sowieso schnell was Anderes suchen oder aus dem Fenster springen.... :bgdev


    Weil das kleine PDF Tutorial ca. 2.5 MByte gross ist, kann ich es hier nicht anhängen.
    Ich habe es deshalb auf der F64 Wolke abgelegt: F64 Wolke


    Ebenso ist es hier per Direktlink verfügbar.


    Es hat übrigens eine kleine Überraschung drin, wenn man den Code ausführt. Aber das überlasse ich mal dem Leser, sich selbst Gedanken darüber zu machen, wieso der Code so läuft. :thumbsup:

  • Ich habe mal die ersten Schritte auf dem Mac in einem kleinen 12seitigen Schritt-für-Schritt Tutorial dokumentiert:

    • Download und Installation von Python 3.6.1

    Heruntergeladen und installiert wird zwar Python 3.6.1, beim Aufruf im Terminal startet aber Python 2.7.10, und das Beispiel mit "print" würde in Python3 nicht mehr funktionieren (Anweisung vs. Funktion).


    ...nur damit Du auf entsprechende Beschwerden vorbereitet bist. ;)

  • Heruntergeladen und installiert wird zwar Python 3.6.1, beim Aufruf im Terminal startet aber Python 2.7.10, und das Beispiel mit "print" würde in Python3 nicht mehr funktionieren (Anweisung vs. Funktion).
    ...nur damit Du auf entsprechende Beschwerden vorbereitet bist. ;)

    OK, und ich wunderte mich auch schon, wieso das auf Windows, wo ich 3.6.x installiert hatte die Printanweisung als Funktion mit Klammern aufrufte, aber am Mac wurden die Klammern mitausgedruckt..... :schande:
    Das macht nun Sinn. Man sollte halt solche Anleitungen nicht kurz vor Mitternacht schreiben.... :cry:

  • python3 startet man mit dem befehl "python3" in der shell.. mit "python" wird immer die 2er version gestartet. die print anweisung unterscheidet sich darin, das python3 die anweisung print ("text"), anstelle print "text" (python 2) verwendet.


    aber, das sollte eigentlich aus der zeitschrift ausreichend hervor gegangen sein, die ich weiter oben nannte ;)

  • python3 startet man mit dem befehl "python3" in der shell.. mit "python" wird immer die 2er version gestartet.

    Nee, offenbar nicht auf allen Systemen: Unter WIndows wird bei mir eben mit "python" auch Python 3 gestartet und mit "python3" gibt's einen Error.


  • Kommt vielleicht drauf an, was man vorher schon installiert hatte. Wenn Mac Bacon bereits Python 2 auf seinem Rechner hat und dann Python 3 installiert, ist es vielleicht anders, wie wenn jemand ganz frisch einfach nur Python 3 installiert.

  • Nee, offenbar nicht auf allen Systemen: Unter WIndows wird bei mir eben mit "python" auch Python 3 gestartet und mit "python3" gibt's einen Error.

    ich vermute mal, du hast sowohl python 2 und python 3, oder nur python 3 installiert... ich denke, hier gibt es auch unterschiede zum jeweiligen systen. wenn ich auf mein raspberry pi 2b, mit aktuell rasbian 9 "stretch" den befehl "python" eingebe, startet python 2.7.1. gebe ich "python3" ein, startet python 3.5.x (hab ich noch nicht aktualisiert). es gibt also unterschiede, wie das system das ganze versteht..


    unter windows 10 habe ich gerade python 2 und 3 eingerichtet und bei beiden die "path" funktion im installer abgehakt. will ich python mit "python" in der shell starten, wird der path eintrag genutzt, der zuletzt für "python" sichtbar ist. will ich also eine der beiden versionen gezielt nutzen, sollte ich besser in dessen programmordner wechseln.. manchmal ist ein "cd xxxx" doch ganz nützlich ;)

    Kommt vielleicht drauf an, was man vorher schon installiert hatte. Wenn Mac Bacon bereits Python 2 auf seinem Rechner hat und dann Python 3 installiert, ist es vielleicht anders, wie wenn jemand ganz frisch einfach nur Python 3 installiert.

    das wird wohl der unterschied sein, der hier wichtig ist.


    @Mac Bacon wie lautet deine python version?

  • Ja unter Windows habe ich die 2.7 und die 3.6.0 (und Anaconda) installiert. Fragt mich jetzt aber nicht welches ich zuerst installiert hatte.


    Aber gerade sowas hilft einem Anfänger auch nicht gerade weiter. Jetzt wo ich das gesehen habe, sehe und verstehe ich meinen Fehler....aber ob das ein junger Pawadan auch kann?
    Eher nicht.