Unter MacOS Mavericks mit Python arbeiten

Probleme bei der Installation?
Antworten
draude
User
Beiträge: 2
Registriert: Sonntag 11. August 2019, 14:30

Sonntag 11. August 2019, 14:45

Hi!

Ich will Python lernen und ein Programm schreiben, welches automatisch Daten aus einer Website mit Statistiken ausliest und Prognosen liefert (neuronale Netze, maschinelles Lernen, Tensorflow, Pytorch, etc).

Lerne aus ''Python 3 - Programmieren für Einsteiger'' von Michael Bonacina. Das richtet sich aber eher an Win-Nutzer. Wenn die Grundlagen sitzen, möchte ich ein Buch zu neuronalen Netzen kaufen und durchmachen.

Bis jetzt das Python Package und Geany installiert.

Habe mehrere Probleme: Das Buch arbeitet mit dem Terminal und Interpreter. Mein Programm soll später in Form einer Exe-Datei mit GUI laufen. Dieses Terminal irritiert mich ziemlich.

1. Wie konfiguriere ich Geany richtig? Ich meine die Pfade für Make, Compile, Execute, etc. (Ist es überhaupt gut mit Geany anzufangen angesichts meines Plans? Lohnt es sich 70Euro für Sublime auszugeben und direkt anzufangen?)

2. Brauch ich noch bestimmte Sachen um mit Python zu arbeiten? GCC, GTK, oder sowas?

3. Wieso benötigt Geany einen CompilerPfad wenn Python mit Interpreter und nicht mir Compiler arbeitet?

4. Im Terminal muss man anscheinend im richtigen Ordner sein und den Pfad so einstellen, dass er auch Dateien ausserhalb des Installationsverzeichnisses erkennt. Wie stelle ich das an?

5. Gibt es vllt irgendwo einen klare Einleitung, die alles klar und deutlich erklärt?
Finde überall nur Bruchstücke von Erklärungen für verschiedene Betriebssysteme, mal was mit Github, mal was mit Terminal, mal was ganz anderes. Jeder schlägt ne andere IDE vor. Finde es übelst frustrierend und es killt meine Konzentration wenn ich bei jeder Kleinigkeit 2h Recherche betreiben muss.


Ich meine das sehr ernst mit dem Programm und würde mich über jede Hilfe freuen.

Danke!

Eduard
Sirius3
User
Beiträge: 10887
Registriert: Sonntag 21. Oktober 2012, 17:20

Sonntag 11. August 2019, 15:45

Es gibt keine feste Verknüpfung zwischen Python und EINER Entwicklungsumgebung. Jeder kann seinen Lieblingseditor zum Schreiben benutzen. Ich persönlich benutze kein Geany, es ist ja auch ein Editor für alles mögliche an Programmiersprachen, da kann dann die Einrichtung auch etwas komplizierter sein. VS-Code ist in letzter Zeit ein beliebter Editor, der mit dem Python-Plugin auch relativ einfach einzurichten ist. Aber auch hier gilt, dass ein komplexer Editor an sich schon Einarbeitungszeit braucht, und nicht alles vom Himmel fällt.

Je nach dem, was Du mit Python machen willst, brauchst Du auch einen C-Compiler für bestimmte Bibliotheken. Gerne wird Anaconda benutzt, weil das schon für viele Bibliotheken fertige Pakete zum einfachen Installieren bereithält.

Terminal-Programme sind deutlich einfacher zu schreiben und die Fehlermeldungen werden auch auf dem Terminal ausgegeben, also komm damit klar. Auch hier gilt, es braucht Zeit um sich darin einzuarbeiten.

Für Frage 4 gibt es keine allgemeingültige Antwort. Wenn die Umgebung richtig eingerichtet ist, dann sollte es keine Probleme geben, wenn etwas nicht richtig eingerichtet ist, kann das tausend Ursachen haben.

Zu 5) es gibt eben viele verschiedene Möglichkeiten, wie es auch etliche verschiedene Systeme gibt. Wenn Du ein Einführungsbuch zu Python unter Windows hast, dann arbeite unter Windows, in der Version, für das das Buch geschrieben wurde [Sarkasmus Ende]. An irgend einer Stelle wird sich Deine Installation von der des Autors irgendeiner Anleitung unterscheiden, und dann klappt was nicht auf Anhieb. Trotz Anfängerbackbuch geht der Kuchen nicht immer auf.
Benutzeravatar
__blackjack__
User
Beiträge: 4663
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Sonntag 11. August 2019, 18:26

@draude: Terminals sind für Programmierer auch heute noch etwas wo man sich halbwegs zuhause fühlen sollte. Denn selbst wenn Du eine GUI-Anwendung programmierst landen dort bei Fehlern beispielweise die Stacktraces die man dann braucht um den Fehlern auf die Spur zu kommen.

Und die Python-Shell ist dann ja auch ein Textinterface, egal ob Du die in einem Terminal ausführst oder innerhalb einer IDE. Eine interaktive Python-Shell ist auch nicht nur zum lernen sehr praktisch, damit kann man auch als ”ausgelernter” Programmierer Code ausprobieren, zum Beispiel wenn man einen Fehler sucht oder wenn man mit neuen Bibliotheken herum spielen möchte um die kennen zu lernen. Es gibt da übrigens auch etwas bessere als die Standard-Python-Shell. IPython oder Jupyter(-Notebooks) sind sehr beliebt.

Geany ist als erster Editor wahrscheinlich nicht verkehrt. Ausführen würde ich Programme immer aus einem Terminal heraus. Es gibt zu viele Fälle in denen sich das in der IDE subtil anders verhält, und man will letztendlich ja wissen wie das ohne Editor oder IDE läuft.

Wenn Du mit Python und der Standardbibliothek für den Anfang zum lernen auskommst, reicht das erst einmal. Den GCC braucht man wenn man Python-Module installieren will die a) in C geschrieben sind und für die es b) für das verwendete System + Python Version nichts vorkompiliertes im Python Package Index (PyPI) gibt. Das ist dann aber etwas was für Anfänger eventuell mehr ist als man sich antun möchte. Wobei es da dann auch unterschiede bei den Betriebssystemen gibt. Nach meiner Erfahrung ist das unter Linux zum Beispiel einfacher als unter Windows, weil Software oder Bibliotheken kompilieren unter Linux einfach viel normaler ist als bei Windows.

Gtk ist ein GUI-Rahmenwerk das in C geschrieben ist, und für das es eine Python-Anbindung gibt. Das ist *ein* Weg um ein GUI-Programm in Python zu schreiben. Unter Windows war Gtk zumindest als ich mir dass das letzte mal angeschaut hatte, nicht so einfach zu installieren. Kann sich aber mittlerweile geändert haben.

Python kommt mit einer Tk-Anbindung für GUIs, falls einem Tk ausreicht. Ist halt ein bisschen simpel – was gut oder schlecht sein kann – je nach dem was man braucht.

Die anderen drei verbreiteten GUI-Rahmenwerke an die es Python-Anbindungen gibt sind Kivy, Qt, und wxWidgets. Kivy ist davon das jüngste und ”unkonventionellste”. Du musst bei der Wahl ein bisschen darauf achten wo es am Ende eingesetzt werden soll, und mit welchen Lizenzen Du arbeiten kannst/willst.

Heutzutage wäre auch eine Webanwendung anstelle einer GUI-Anwendung eine Option. Auch wenn das nicht auf einem Server ausgeführt wird, sondern nur lokal beim Anwender.

(C)Python kompiliert den Quelltext in Bytecode der dann interpretiert wird. Der Vorschlag von Geany für den Compiler ist ``python -m py_compile "%f"`` was diesen Schritt explizit macht. Ist allerdings nicht wirklich nötig weil Python beim Ausführen automagisch schaut ob es schon Bytecode gibt der nicht älter als die dazugehörige Quelltextdatei ist. Man kann das Kompilieren aber für eine schnelle Syntaxprüfung verwenden.
“Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life.”
— Terry Pratchett, Jingo
__deets__
User
Beiträge: 6848
Registriert: Mittwoch 14. Oktober 2015, 14:29

Sonntag 11. August 2019, 20:05

Unter macOS würde ich nicht zu geany greifen. Sondern zb zu sublime, Atom oder dem schon erwähnten VS Code. Und einen C Compiler brauchst du eher nicht. Doch wenn du willst, bekommst du den mit Xcode & den commandline Tools.
draude
User
Beiträge: 2
Registriert: Sonntag 11. August 2019, 14:30

Sonntag 11. August 2019, 21:32

Danke für die Antworten: @Sirius3, @_blackjack_,@_deets_. Weiss es echt zu schätzen, dass ihr einen Teil eurer Freizeit opfert um solche Fragen kostenlos zu beantworten.

Ziel ist es, wie gesagt, am Ende ein Programm zu schreiben, welches Daten aus einer Statistikseite ausliest und per KI-Algoritmus (Neuronale Netze, Tensorflow, Pytorch - maschinelles Lernen) Prognosen für die Zukunft liefern soll.

Bevor ich den genauen Plan erstelle, muss ich mich noch mit Grundlagen zu Python vertraut genug machen und dann erst zu den NN übergehen.

Welche Daten für die Prognose alle notwendig sein werden muss ich noch entscheiden, wenn ich das Programmkonzept erstelle. Aber bis dahin ist es noch ein Stück.

Will eigentlich das ganze so gestallten, dass ich mir die Programme, Pakete, Packages und sonst alles von Anfang an so zurechtlege, dass ich dann immer mehr davon verstehe und es am Ende auch reicht um das Projekt fertigzustellen. Will vermeiden, am Ende zu merken, dass der Editor nicht ausreicht, oder ein Package unnötig ist. Eigentlich will ich mir nur das Wissen und die nötige Software + die Fähigkeiten damit zu arbeiten efizient zurechtlegen um Ende das Ziel zu erreichen.

TK sollte für die GUI ausreichen.

Ich würde Sublime runterladen und damit anfangen, es sei den jmd hat ein Argument welches belegt dass VS Code mit dem Python Plugin leichter zu lernen/besser für mein Ziel wäre.

Ob ich einen C Compiler nötig sein wird, weiss ich noch nicht.

IPython werde ich ab jetzt statt der Standart Shell benutzen. Danke!

Andere Frage: Hat man die PyPI automatisch wenn man Python3.7 installiert? Habe es von python.org installiert. Wenn ich das richtig verstanden habe, ist das aber nur der Interpreter mit ein bisschen Dokumentation und Anleitung und Shell.

Ob ich GCC brauche weiss ich auch noch nicht.

Ausserdem, noch eine Frage: Wenn ich im Terminal "Python -V" ausführe, kommt 2.7 statt 3.7.
Anscheinend wurde die Path nicht richtig oder garnicht übernommen.

Mit ein bisschen Google-Recherche habe ich rausgefunden, dass es installiert ist in "usr/local/bin" (im Ordner geschaut), aber auf "library/frameworks/...usw" pointet (laut Terminal-Auslesung). Wenn ich es richtig verstanden habe, müsst es woanders hin pointen. Wohin genau und wie ich das anstelle, weiss ich aber noch nicht.

Danke nochmal für eure Zeit!
Sirius3
User
Beiträge: 10887
Registriert: Sonntag 21. Oktober 2012, 17:20

Sonntag 11. August 2019, 21:46

python ist auch die Standard-Python2.7-Installation. Python3 ist unter dem Namen ›python3‹ zu finden, bzw. ›python3.7‹ wenn Du auch noch andere Python3-Installationen hast.
Die Pfade zu den Standardbibliotheken sollten dann eigentlich schon automatisch richtig sein.
Antworten