Seite 1 von 2

Python Anfängerfragen

Verfasst: Sonntag 18. Juli 2010, 12:11
von pole23
Hallo,

ich habe vor, mich mit Python zu beschäftigen. Ich möchte ein Programm mit GUI schreiben. Ich benutze gerade Ubuntu und würde auch unter Ubuntu programmieren wollen. Diese Anwendung soll, wenn sie mal fertig ist, auf für Windows genutzt werden. Könnte ihr mir da mal einen Tipp geben, mit welche GUI ich da am besten arbeite und mir eventuell eine Editor Empfehlung geben?

Gruß
Pole23

Re: Python Anfängerfragen

Verfasst: Sonntag 18. Juli 2010, 12:15
von Hyperion
pole23 hat geschrieben: ich habe vor, mich mit Python zu beschäftigen. Ich möchte ein Programm mit GUI schreiben.
Das beißt sich leider. GUIs sind für Anfänger leider nicht wirklich zu empfehlen; muss es denn wirklich eine GUI haben? Evtl. reicht ja für die Problemlösung eine Konsolenapplikation? Welches Problem willst Du denn lösen? Klingt für mich so, als hättest Du da ein ganz spezielles Problem vor Augen. Evtl. gibt es dafür ja bereits Lösungen.
Diese Anwendung soll, wenn sie mal fertig ist, auf für Windows genutzt werden. Könnte ihr mir da mal einen Tipp geben, mit welche GUI ich da am besten arbeite und mir eventuell eine Editor Empfehlung geben?
Das geht mit so ziemlich allen GUIs für Python. Die beiden am meisten empfohlenen hier dürften PyQt und PyGtk sein. Daneben gibts noch Bindings für wxWidgets und TkInter aus der StandardLib. Letzteres würde ich allerdings nicht verwenden.

Re: Python Anfängerfragen

Verfasst: Sonntag 18. Juli 2010, 12:24
von cofi
Hyperion hat geschrieben:Daneben gibts noch Bindings für wxWidgets und TkInter aus der StandardLib. Letzteres würde ich allerdings nicht verwenden.
Generell folge ich dem zwar, aber wenn die Aufgabe nicht sonderlich komplex ist (und das will man bei einem Startprojekt hoffen), koennte es genau das richtige sein.

@OP: Bitte benutze ausdrucksstaerkere Thread-Titel.
Was den Editor angeht: Nutz doch mal die Suchfunktion. Daneben ist alles sehr brauchbar das Syntax-Highlighting unterstuetzt und fuer dich angenehm.

Re: Python Anfängerfragen

Verfasst: Sonntag 18. Juli 2010, 12:34
von Francesco
Ich glaube schon, dass man das (eingeschränkt) parallel angehen kann. Man nehme ein bestehendes, einfach gestricktes gui programm und dann ändert man einfach dort Dinge oder wendet man sie an, die man im Python Tutorial zB lernt. Eine gute interactive shell hilft sicher auch. Hier spricht eigentlich nichts gegen idle.

Da ich ein bisschen wxPython fixiert bin, würde ich einmal das paket mitsamt den Demo installieren. Daneben wird der ganze Sourcecode von wxPython in Action auch gleich mitgeliefert. Mit Pycrust hast du dann auch gleich eine gute Shell. Dann gibts bei der WxPython Wiki noch zahlreiche interessante Seiten vom Anfänger bis zum fortgeschrittenen.

Daneben sind alle gängigen Guis, wie bereits mein Vorposter erwähnt hat, platformunabhängig. Ich würde mir einmal überschlagsmässig screenshots und eine kurze Zusammenfassung oder Vergleich der GUIs ansehen. PyQt und besonders pygtk sind recht beliebt, was man an der Anzahl der Anwendungen sieht.

Text Editoren gibt es so viele, dass sich das aufzählen nicht lohnt. Zum Anfangen ist scite vielleicht gar nicht so schlecht.

Re: Python Anfängerfragen

Verfasst: Sonntag 18. Juli 2010, 16:05
von pole23
Vielen Dank für die schnellen Antworten. Das Programm soll eigentlich "nur" Daten aus einer Datenbank lesen und auch schreiben können. Daher auch der Gedanke mit der GUI.

Ich werde mir jetzt mal die GUI Vorschläge mal anschauen und mich dann bei Fragen mit Sicherheit noch mal melden.:-)

Re: Python Anfängerfragen

Verfasst: Sonntag 18. Juli 2010, 17:21
von Hyperion
pole23 hat geschrieben:Vielen Dank für die schnellen Antworten. Das Programm soll eigentlich "nur" Daten aus einer Datenbank lesen und auch schreiben können. Daher auch der Gedanke mit der GUI.
Anhand dieser Aussage sehe ich da noch keine Notwendigkeit einer GUI ;-)

Re: Python Anfängerfragen

Verfasst: Sonntag 18. Juli 2010, 20:03
von noisefloor
Hallo,

der Punkt mit der GUI ist: du musst dich mit der GUI _UND_ Python gleichzeitig beschäftigen.

Das Lesen und Schreiben in eine DB kannst du mit Python mit ein paar wenigen Zeilen Code realisieren. Wenn du eine GUI rundherum baust brauchst du für einfache Progs sicherlich mindestens 5x so viel Code.

BTW, ich habe es in einem ähnlich gearteten Thread schon mal gesagt: die IMHO einfachste Art der GUI ist eine Weboberfläche im Browser. Setzt natürlich voraus, dass mein sein Prog als Webanwendung ausführen kann.

Gruß, noisefloor

Re: Python Anfängerfragen

Verfasst: Sonntag 18. Juli 2010, 21:23
von pole23
Das mit der webanwendung ist eine gute Idee. Wie genau setze ich sowa in Python um?

Re: Python Anfängerfragen

Verfasst: Sonntag 18. Juli 2010, 21:37
von Hyperion
pole23 hat geschrieben:Das mit der webanwendung ist eine gute Idee. Wie genau setze ich sowa in Python um?
Am besten mit einem Web-Framework; dazu siehe auch hier:
http://wiki.python-forum.de/Python%20im%20Web

Allerdings ist das auch so eine Sache... auch dafür bedarf es imho einiges an Kenntnissen der Sprache, die man zu Beginn einfach noch nicht hat.

Die große Frage dabei ist auch oftmals, ob Du noch nie programmiert hast bzw. Python Deine erste Programmiersprache ist, oder Du Umsteiger bist und Dich vor allem nur an die Python spezifischen Dinge gewöhnen musst. Bei letzterem wäre der Weg sicher sehr zu empfehlen. Als "blutiger" Anfänger würde ich zu einer reinen Konsolenapplikation raten und die GUI (wie auch immer geartet) später drum herum bauen.

Re: Python Anfängerfragen

Verfasst: Sonntag 18. Juli 2010, 22:06
von Darii
noisefloor hat geschrieben:BTW, ich habe es in einem ähnlich gearteten Thread schon mal gesagt: die IMHO einfachste Art der GUI ist eine Weboberfläche im Browser. Setzt natürlich voraus, dass mein sein Prog als Webanwendung ausführen kann.
Das macht es auch nicht einfacher. Im Gegenteil. Man muss das ganze zweimal schreiben einmal „in HTML/JS“ und einmal in Python. Zudem muss man sich damit rumschlagen, dass HTML statuslos ist. Und wenn die Anwendung auch noch komfortabel benutzbar sein soll wird es richtig aufwändig. Klar, dafür gibt es Bibliotheken, aber die muss man auch erstmal kennen.

Komfort ist dann leider nochmal eine Spur schlechter. Es ist schon schwer genug ein gutes „Komplettpacket“ für klassische GUI-Entwicklung zu bekommen (für Python noch schwieriger). Für Webanwendungen existiert so etwas nicht mal.

Die Beste GUI-Bibliothek für Python ist imo Traits 3. Gerade für einfachste Skripte sehr gut geeignet. Ist allerdings vermutlich nicht was für jeden und die Abhängigkeiten sind recht umfangreich. Habs bis jetzt nur mit der kompletten EPD-Distributions zum Laufen bekommen.

Re: Python Anfängerfragen

Verfasst: Sonntag 18. Juli 2010, 22:54
von problembär
pole23 hat geschrieben:ich habe vor, mich mit Python zu beschäftigen. Ich möchte ein Programm mit GUI schreiben. Ich benutze gerade Ubuntu und würde auch unter Ubuntu programmieren wollen. Diese Anwendung soll, wenn sie mal fertig ist, auf für Windows genutzt werden. Könnte ihr mir da mal einen Tipp geben, mit welche GUI ich da am besten arbeite und mir eventuell eine Editor Empfehlung geben?
pole23 hat geschrieben:Das Programm soll eigentlich "nur" Daten aus einer Datenbank lesen und auch schreiben können. Daher auch der Gedanke mit der GUI.
Wer fragt, kriegt Antwort:
Editor: vim
GUI-Toolkit: Tkinter
Grund: Derselbe Tkinter-GUI-Code läuft ohne weitere Installationen sowohl auf Linux und Windows.
Aber Ausnahme: Wenn Du sehr viele Datensätze aus der Datenbank in dem GUI darstellen willst, eignen sich andere Toolkits besser.

Gruß

Re: Python Anfängerfragen

Verfasst: Montag 19. Juli 2010, 00:44
von Leonidas
problembär hat geschrieben:Wer fragt, kriegt Antwort:
Editor: vim
GUI-Toolkit: Tkinter
Grund: Derselbe Tkinter-GUI-Code läuft ohne weitere Installationen sowohl auf Linux und Windows.
Aber Ausnahme: Wenn Du sehr viele Datensätze aus der Datenbank in dem GUI darstellen willst, eignen sich andere Toolkits besser.
Oder auch ganz viele:

Editor: vim
GUI-Toolkit: PyGTK
Grund: Derselbe PyGTK-GUI-Code läuft ohne weitere Installationen sowohl auf Linux und Windows.

Editor: emacs
GUI-Toolkit: PyQt
Grund: Derselbe PyQt-GUI-Code läuft ohne weitere Installationen sowohl auf Linux und Windows.

Ich könnt jetzt noch beliebig permutieren...

Re: Python Anfängerfragen

Verfasst: Montag 19. Juli 2010, 00:57
von jbs
Leonidas hat geschrieben: Editor: emacs
GUI-Toolkit: PyQt
Grund: Derselbe Tkinter-GUI-Code läuft ohne weitere Installationen sowohl auf Linux und Windows..
:K

Re: Python Anfängerfragen

Verfasst: Montag 19. Juli 2010, 07:38
von noisefloor
Hallo,
Das macht es auch nicht einfacher. Im Gegenteil. Man muss das ganze zweimal schreiben einmal „in HTML/JS“ und einmal in Python.
Wieso 2x? Was ich meine ist, dass man eine einfache "schön formatierte" Ausgabe mit HTML+CSS (und ohne JS) ziemlich einfach erreicht. Eine komplette GUI a la GTK oder Qt mit HTML/CSS/JS nachzubauen ist in der Tat sehr (zu) aufwendig.

Gruß, noisefloor

Re: Python Anfängerfragen

Verfasst: Montag 19. Juli 2010, 08:09
von Hyperion
noisefloor hat geschrieben:Hallo,
Das macht es auch nicht einfacher. Im Gegenteil. Man muss das ganze zweimal schreiben einmal „in HTML/JS“ und einmal in Python.
Wieso 2x? Was ich meine ist, dass man eine einfache "schön formatierte" Ausgabe mit HTML+CSS (und ohne JS) ziemlich einfach erreicht.
Naja, die Ausgabe ist ja nicht das Problem, sondern die Eingabe ;-)

Geht es nur um hübsch formatierte Ausgaben, so kann man die auch losgelöst mit eineer Template Engine erzeugen.

Leider wissen wir ja immer noch nicht, was der OP eigentlich konkret machen möchte.

Re: Python Anfängerfragen

Verfasst: Montag 19. Juli 2010, 12:30
von pole23
Ich möchte mit der ersten Anwendung verschiedene Informationen über Kunden und deren Server aus einer Datenbank auslesen und speichern können. Das ich zum Beispiel die IP Adressen von einem SErver eingeben kann und dann Information über den Kunden und die vorhandenen Zugriffe und Passwörter und so erhalte.

Re: Python Anfängerfragen

Verfasst: Montag 19. Juli 2010, 12:37
von Hyperion
pole23 hat geschrieben:Ich möchte mit der ersten Anwendung verschiedene Informationen über Kunden und deren Server aus einer Datenbank auslesen und speichern können. Das ich zum Beispiel die IP Adressen von einem SErver eingeben kann und dann Information über den Kunden und die vorhandenen Zugriffe und Passwörter und so erhalte.
Das kann man doch auch ohne GUI! Die benötigten Parameter kann man leicht an ein CLI übergeben. Wobei das alles im Moment eher nach Dumpen von Daten klingt... da sehe ich nocht nicht den Nutzen von Python.

Auf jeden Fall hast Du mit dem DB-Modul oder ggf. einem ORM genug am Hacken für den Anfang. Da würde ich mir nicht noch ne GUI aufhalsen.

Re: Python Anfängerfragen

Verfasst: Montag 19. Juli 2010, 12:49
von pole23
Ich wollte mit Python generell mal anfangen und da fiel mir das Projekt halt als erstes ein. Aber du hast recht, ich werde erstmal versuchen, ein alles Konsolenbasierend zum laufen zu bekommen, was mit Sicherheit schwer genug seien wird:-)

Re: Python Anfängerfragen

Verfasst: Montag 19. Juli 2010, 13:20
von noisefloor
Hallo,

wenn es um die reine Abfrage gem. deinem Beispiel geht, dann sollten das in Python ~10 Zeilen Code sein. Wenn man "schön" formatieren will vielleicht auch ein paar mehr.

Gruß, noisefloor

Re: Python Anfängerfragen

Verfasst: Montag 19. Juli 2010, 13:36
von pole23
Es sollen dann aber auch noch diverse Daten, Servername, IP, Zugangdaten für Admin, eventuell angelegte FTP User und und und...