Hi,
ich habe mal eine Frage, wie man am besten und schnellsten Python-Code für die Allgemeinheit bereitstellt.
Angenommen man schreibt ein kleines Skript, was irgendwas kann. Beispielsweise ein neuroyales Netz oder ein Programm, was irgendwelche Dateien verschiebt oder irgendetwas mit einer hochgeladenen Datei macht.
Da ich schlecht mein Skript verschicken kann, weil die meisten Benutzer keine Ahnung von Python haben würde ich gerne eine kleine Web-App bereitstellen oder eine Stand-Alone oder sonst etwas. Aber was ist da denn das Beste und einfachste?
Und was brauche ich dafür? Wie macht ihr das?
Viele Grüße
Wie deploye ich Python-Code am besten für die Allgemeinheit?
-
- User
- Beiträge: 439
- Registriert: Mittwoch 8. August 2018, 16:42
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
- noisefloor
- User
- Beiträge: 4181
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
definiere "einfach"
Es es so "landläufig" einfach sein soll, dann kannst du entweder einen Installer bauen, den musst du aber dann konsequenter Weise für die drei gängigen OS (Windows, MacOS, Linux) machen. Was a) so schon Aufwand ist und) bei Linux noch dazu kommt, ob die Pakete pro Distro baust oder auf was "modernes" wie snap oder flatpak gehst.
Wenn du es per Weboberfläche bereit stellst, dann hast du den (IMHO großen!) Vorteil, dass das plattformunabhängig ist (man braucht ja nur einen Browser) und Leute auch Zugriff von den mobilen Plattformen wie iOS und Android haben.
Aber du hast den (ggf. erheblichen) Mehraufwand, eine Weboberfläche schreiben zu müssen. Und man kann zwar viel, aber nicht alles in eine Weboberfläche packen. Plus du musst deine Applikation ja irgendwo hosten, sprich du hast laufende Kosten für einen Server - zumindest dann, wenn du mehr als eine handvoll Zugriffe erwartest.
Am einfachsten (für dich) ist, wenn du dein Programm als Wheel bei pypi bereit stellt, so dass es via pip installierbar ist. Dann muss dein Zielgruppenbenutzer aber bereit und in der Lage dazu sein, es via pip installieren zu können.
Und was man generell nicht unterschätzen darf: wenn du Code öffentlich machst, dann solltest du _tunlichst_ darauf achten, eine gute Doku zu haben. Der geilste Code bringt nichts, wenn niemand checkt / nachlesen kann, wie das Prog funktioniert. Und Doku schreiben kann auch sehr zeitaufwendig sein.

Gruß, noisefloor
definiere "einfach"

Es es so "landläufig" einfach sein soll, dann kannst du entweder einen Installer bauen, den musst du aber dann konsequenter Weise für die drei gängigen OS (Windows, MacOS, Linux) machen. Was a) so schon Aufwand ist und) bei Linux noch dazu kommt, ob die Pakete pro Distro baust oder auf was "modernes" wie snap oder flatpak gehst.
Wenn du es per Weboberfläche bereit stellst, dann hast du den (IMHO großen!) Vorteil, dass das plattformunabhängig ist (man braucht ja nur einen Browser) und Leute auch Zugriff von den mobilen Plattformen wie iOS und Android haben.
Aber du hast den (ggf. erheblichen) Mehraufwand, eine Weboberfläche schreiben zu müssen. Und man kann zwar viel, aber nicht alles in eine Weboberfläche packen. Plus du musst deine Applikation ja irgendwo hosten, sprich du hast laufende Kosten für einen Server - zumindest dann, wenn du mehr als eine handvoll Zugriffe erwartest.
Am einfachsten (für dich) ist, wenn du dein Programm als Wheel bei pypi bereit stellt, so dass es via pip installierbar ist. Dann muss dein Zielgruppenbenutzer aber bereit und in der Lage dazu sein, es via pip installieren zu können.
Und was man generell nicht unterschätzen darf: wenn du Code öffentlich machst, dann solltest du _tunlichst_ darauf achten, eine gute Doku zu haben. Der geilste Code bringt nichts, wenn niemand checkt / nachlesen kann, wie das Prog funktioniert. Und Doku schreiben kann auch sehr zeitaufwendig sein.
Wird das das neue Netzwerk der neu aufstrebenden Monarchie in Deutschland?Beispielsweise ein neuroyales Netz

Gruß, noisefloor
- __blackjack__
- User
- Beiträge: 14012
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Zur Weboberfläche vielleicht noch, das man das nicht unbedingt irgendwo hosten muss, denn man kann das Programm ja auch so schreiben, dass es lokal beim Benutzer läuft.
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
-
- User
- Beiträge: 439
- Registriert: Mittwoch 8. August 2018, 16:42
Puh, Installer habe ich keine Ahnung von. Wieder etwas, was ich mir anschauen muss/ werde.
Also sind wir dann bei dem deployment übers WWWeb ganz schnell bei Flask und Django? Server ist vorhanden mit genügend Blech.
"Wird das das neue Netzwerk der neu aufstrebenden Monarchie in Deutschland?
" Autokorrektur macht wieder Witze 
@__blackjack__
"Zur Weboberfläche vielleicht noch, das man das nicht unbedingt irgendwo hosten muss, denn man kann das Programm ja auch so schreiben, dass es lokal beim Benutzer läuft."
Das verstehe ich nicht so. Wie soll es denn beim Benutzer lokal laufen?
Also sind wir dann bei dem deployment übers WWWeb ganz schnell bei Flask und Django? Server ist vorhanden mit genügend Blech.
"Wird das das neue Netzwerk der neu aufstrebenden Monarchie in Deutschland?


@__blackjack__
"Zur Weboberfläche vielleicht noch, das man das nicht unbedingt irgendwo hosten muss, denn man kann das Programm ja auch so schreiben, dass es lokal beim Benutzer läuft."
Das verstehe ich nicht so. Wie soll es denn beim Benutzer lokal laufen?
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
- noisefloor
- User
- Beiträge: 4181
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
wenn du eine Webapplikation schreibst, bis du mit Python ganz schnell bei Django oder Flask. Oder Tornado oder FastAPI oder ein anderes Webframework.
Flask, Django und Co haben einen Server an Bord, der für den lokalen Einbenutzerbetrieb grundsätzlich reicht. Den nutzt du ja auch, wenn du mit einem Webframework lokal entwickelst.
Gruß, noisefloor
wenn du eine Webapplikation schreibst, bis du mit Python ganz schnell bei Django oder Flask. Oder Tornado oder FastAPI oder ein anderes Webframework.
Flask, Django und Co haben einen Server an Bord, der für den lokalen Einbenutzerbetrieb grundsätzlich reicht. Den nutzt du ja auch, wenn du mit einem Webframework lokal entwickelst.
Gruß, noisefloor