Seite 1 von 1
wie erstellt man mit python ein programm + anfängerfagen
Verfasst: Samstag 9. Februar 2013, 15:27
von ll9
hallo ich bin neu im forum. ich möchte mich gleich entschuldigen fals ich gerade gegen irgendwelche regeln im forum verstoße, aber wenn ich zu der seite mit den regeln will kommt folgende fehlermeldung:
"Not Found
The requested URL /Forum/Regeln was not found on this server.
Apache/2.2.16 (Ubuntu) Server at wiki.python.de Port 80"
ich habe bereits ein paar stunden mit python hinter mir und dabei sind einige fragen aufgekommen. wenn ich in python ein programm schreibe speichere ich das ja im .py format ab. dieses format funktioniert folglicherweise jedoch nur bei personen, welche auch bereits python installiert haben. was muss ich den genau machen, dass wenn ich z.b einen taschenrechner erstelle diesen auch andere leute benutzen können?
wenn ich die .py datei selbst starte kommt auch nur ein nich schönes "exenartiges" fenster. dies lässt sich zwar durch drücken der rechten maustaste etwas editieren, was aber mir nicht reicht. wie kann man das denn programmieren, damit dieses fenster ein schöneres layout hat?
meine letze frage wäre: was bringt in python eigentlich die erste zeile? könnte mir das jemande genauer erklären? ich hab die englische erklärung nicht so ganz verstanden.
danke schonmal für eure hilfe.
Re: wie erstellt man mit python ein programm + anfängerfagen
Verfasst: Samstag 9. Februar 2013, 15:57
von BlackJack
@ll9: Die python.de-Domain scheint tot zu sein. Eine funktionierende URL:
http://wiki.python-forum.de/Forum/Regeln
Du müsstest den anderen Leuten sagen sie sollen sich Python installieren. Alternativ kannst Du Dein Programm mit Python zusammen in einen Installer packen, aber das ist IMHO keine so schöne Lösung weil man dann für jedes noch so kleine Python-Programm immer wieder komplett Python mitinstalliert.
Textprogramme werden halt in der vom Endbenutzer bevorzugten beziehungsweise von dessen Betriebssystem vorgesehenen Konsole/Eingabeaufforderung/… ausgeführt. Da hat man keinen Einfluss drauf. Wenn man „schönere” Programme schreiben will, muss man eine GUI-Anwendung programmieren. Dazu braucht man ein GUI-Toolkit. Entweder `Tkinter`, was in der Python-Standardbibliothek vorhanden ist, und wo man sich über das „schön” streiten kann, oder eine Python-Anbindung an externe GUI-Bibliotheken wie Gtk, Qt, oder WxWidgets. Vorsicht: GUI-Programmierung ist ein fortgeschrittenes Thema bei dem man schon halbwegs sattelfest in objektorientierter Programmierung sein sollte, und wo als neues Konzept die ereignisbasierte Programmierung hinzu kommt. Und wenn man etwas anderes als `Tkinter` wählt, muss man das extra installieren und zumindest unter Windows auch daran denken, dass Endanwender das auch tun müssen, oder das man auch da wieder extra Arbeit in das schnüren eines Komplettpakets stecken muss.
Falls mit der ersten Zeile die „she bang”-Zeile gemeint ist, damit wird unter Betriebssystemen die Dateien nicht nach Dateiendungen Programmen zuordnen gesagt mit welchem Programm die Datei ausgeführt werden soll.
Re: wie erstellt man mit python ein programm + anfängerfagen
Verfasst: Samstag 9. Februar 2013, 15:58
von Leonidas
Hallo ll9, willkommen im Forum,
ll9 hat geschrieben:hallo ich bin neu im forum. ich möchte mich gleich entschuldigen fals ich gerade gegen irgendwelche regeln im forum verstoße, aber wenn ich zu der seite mit den regeln will kommt folgende fehlermeldung:
"Not Found
The requested URL /Forum/Regeln was not found on this server.
Apache/2.2.16 (Ubuntu) Server at wiki.python.de Port 80"
Funktionierende URL zu den Regeln.
ll9 hat geschrieben:ich habe bereits ein paar stunden mit python hinter mir und dabei sind einige fragen aufgekommen. wenn ich in python ein programm schreibe speichere ich das ja im .py format ab. dieses format funktioniert folglicherweise jedoch nur bei personen, welche auch bereits python installiert haben. was muss ich den genau machen, dass wenn ich z.b einen taschenrechner erstelle diesen auch andere leute benutzen können?
Python mitliefern ist die übliche Methode. Ich persönlich würde Python einfac dazu packen, andere nutzen so Lösungen wie py2exe oder PyInstaller, was ich aber nicht so berauschend finde.
ll9 hat geschrieben:wenn ich die .py datei selbst starte kommt auch nur ein nich schönes "exenartiges" fenster. dies lässt sich zwar durch drücken der rechten maustaste etwas editieren, was aber mir nicht reicht. wie kann man das denn programmieren, damit dieses fenster ein schöneres layout hat?
Gar nicht. Das ist einfach das Standardfenster für Konsolenprogramme. Wenn dir das nicht gefällt, musst du eine grafische Anwendung schreiben.
ll9 hat geschrieben:meine letze frage wäre: was bringt in python eigentlich die erste zeile? könnte mir das jemande genauer erklären? ich hab die englische erklärung nicht so ganz verstanden.
Die gibt den String aus. Du siehst, was als erste Zeile in einem Python-Skript steht ist relativ beliebig. Was du vermutlich eigentlich meintest ist
Shebang und das wird in Wikipedia erklärt.
Re: wie erstellt man mit python ein programm + anfängerfagen
Verfasst: Samstag 9. Februar 2013, 16:30
von ll9
also wenn jemand ein python-programm nutzen will sollte man am besten python mitliefern? hmm wie wird das denn bei den ganzen anderen programmen aus dem internet gemacht, dort ist python (oder eben andere programmiersprachen) ja auch nicht dabei.
ll9 hat geschrieben:
wenn ich die .py datei selbst starte kommt auch nur ein nich schönes "exenartiges" fenster. dies lässt sich zwar durch drücken der rechten maustaste etwas editieren, was aber mir nicht reicht. wie kann man das denn programmieren, damit dieses fenster ein schöneres layout hat?
Gar nicht. Das ist einfach das Standardfenster für Konsolenprogramme. Wenn dir das nicht gefällt, musst du eine grafische Anwendung schreiben.
bei programmen wie taschenrechnern oder spezifischerweise word wäre keine schöne gestaltung des programms nicht weg zu denken, deswegen frag ich wie man sowas macht, um in zukunft auch mal professionelle programme schreiben zu können. diese grafische anwendung lässt sich dann auch einfach mit python schreiben oder?
Textprogramme werden halt in der vom Endbenutzer bevorzugten beziehungsweise von dessen Betriebssystem vorgesehenen Konsole/Eingabeaufforderung/… ausgeführt. Da hat man keinen Einfluss drauf. Wenn man „schönere” Programme schreiben will, muss man eine GUI-Anwendung programmieren. Dazu braucht man ein GUI-Toolkit. Entweder `Tkinter`, was in der Python-Standardbibliothek vorhanden ist, und wo man sich über das „schön” streiten kann, oder eine Python-Anbindung an externe GUI-Bibliotheken wie Gtk, Qt, oder WxWidgets. Vorsicht: GUI-Programmierung ist ein fortgeschrittenes Thema bei dem man schon halbwegs sattelfest in objektorientierter Programmierung sein sollte, und wo als neues Konzept die ereignisbasierte Programmierung hinzu kommt. Und wenn man etwas anderes als `Tkinter` wählt, muss man das extra installieren und zumindest unter Windows auch daran denken, dass Endanwender das auch tun müssen, oder das man auch da wieder extra Arbeit in das schnüren eines Komplettpakets stecken muss.
andere programme sind ja auch schöner gestalltet, fällt mir das nur nicht auf, dass man dort diese ganzen sachen zusätzlich instalieren muss (bei der installation dacht ich ja immer der instaliert nur das programm selbst) oder wie läuft das genau ab?
Falls mit der ersten Zeile die „she bang”-Zeile gemeint ist, damit wird unter Betriebssystemen die Dateien nicht nach Dateiendungen Programmen zuordnen gesagt mit welchem Programm die Datei ausgeführt werden soll.
ja ganz genau die "she bang"-Zeile meine ich. ich hab die bis jetzt immer weg gelassen. könntest du mir diese an einen beispiel vielleicht genauer erläutern?
Re: wie erstellt man mit python ein programm + anfängerfagen
Verfasst: Samstag 9. Februar 2013, 16:52
von BlackJack
@ll9: Wenn ein Programm eine Laufzeitumgebung benötigt, dann muss man die entweder mitliefern, oder sie muss schon auf dem Zielrechner vorhanden sein. Das ist letztendlich bei jeder Programmiersprache so. Ein Programm in einer .NET-Sprache wird nicht ohne .NET-Laufzeitumgebung funktionieren, ein Java-Programm nicht ohne die Java-Klassenbibliothek, ein klassisches VisualBasic-Programm nicht ohne die passende vbrun*.dll, und so weiter. Bei verschiedenen Systemen kann man in der Regel verschiedene Laufzeitumgebunden schon voraussetzen. Auf einem aktuellen Windows-System ist .NET meistens vorhanden, und unter Linux oder MacOS sollte es schon ein Python 2.x geben.
Ich denke Text- versus GUI-Anwendung ist keine Frage der schönen Gestaltung, sondern des Bedienkonzepts. Es gibt Programme, bei denen macht eine Textoberfläche nicht viel Sinn, und solche bei denen eine GUI zumindest nicht notwendig ist. Kommandozeilen-Programme sind auch nicht per se unprofesionell.
Re: wie erstellt man mit python ein programm + anfängerfagen
Verfasst: Sonntag 10. Februar 2013, 12:26
von Leonidas
ll9 hat geschrieben:also wenn jemand ein python-programm nutzen will sollte man am besten python mitliefern? hmm wie wird das denn bei den ganzen anderen programmen aus dem internet gemacht, dort ist python (oder eben andere programmiersprachen) ja auch nicht dabei.
Ja doch, ganz oft sogar. Wenn du schaust wie oft du das Visual Studio 2005 Redistributable auf einem typischen Windows-Rechner findest, dann merkst du schon, wie oft einfach sowas mitgeliefert wird, ohne dass dir als User das gesagt wird. Weil, wozu auch? Braucht dich ja nicht zu interessieren, so als User.
ll9 hat geschrieben:bei programmen wie taschenrechnern oder spezifischerweise word wäre keine schöne gestaltung des programms nicht weg zu denken, deswegen frag ich wie man sowas macht, um in zukunft auch mal professionelle programme schreiben zu können. diese grafische anwendung lässt sich dann auch einfach mit python schreiben oder?
Wie BlackJack meinte, gehen tut das schon und man hat mit Qt, GTK+ und wxWidgets eine Menge auswahl. Allerdings "einfach" ist so eine Sache - man sollte schon relativ sattelfest im Programmieren sein.
ll9 hat geschrieben:andere programme sind ja auch schöner gestalltet, fällt mir das nur nicht auf, dass man dort diese ganzen sachen zusätzlich instalieren muss (bei der installation dacht ich ja immer der instaliert nur das programm selbst) oder wie läuft das genau ab?
Naja, im Installer sind einfach die Dateien des Programmes und der Laufzeitumgebung drin und werden einfach zusammen kopiert. Hast du mal geschaut was so ein Programm üblicherweise installiert? Man sieht das übrigens bei Steam-Spielen ganz gut, wo jedes Spiel erstmal bei der Installation erstmal DirectX installiert.
ll9 hat geschrieben:
Falls mit der ersten Zeile die „she bang”-Zeile gemeint ist, damit wird unter Betriebssystemen die Dateien nicht nach Dateiendungen Programmen zuordnen gesagt mit welchem Programm die Datei ausgeführt werden soll.
ja ganz genau die "she bang"-Zeile meine ich. ich hab die bis jetzt immer weg gelassen. könntest du mir diese an einen beispiel vielleicht genauer erläutern?
Okay:
Das heißt, dass im Ordner ``/usr/bin`` das Programm ``env`` gesucht wird, und dieses mit dem Parameter ``python3`` sowie der Datei gestartet wird. Im Falle von ``env`` sucht es einfach nach einem Programm dass ``python3`` heißt und führt dieses aus.
Re: wie erstellt man mit python ein programm + anfängerfagen
Verfasst: Sonntag 10. Februar 2013, 15:27
von ll9
dank eurer antworten hab ich jetzt größtenteils alles verstanden, danke.
Re: wie erstellt man mit python ein programm + anfängerfagen
Verfasst: Dienstag 12. Februar 2013, 08:34
von /me
ll9 hat geschrieben:also wenn jemand ein python-programm nutzen will sollte man am besten python mitliefern? hmm wie wird das denn bei den ganzen anderen programmen aus dem internet gemacht, dort ist python (oder eben andere programmiersprachen) ja auch nicht dabei.
Doch, dir fällt es nur nicht auf. Zum Teil sind die Python-Skripte eingebettet, zum Teil stellen sie das Hauptprogramm dar.