Seite 1 von 1
Prüfpunktliste aus Excel durch Python Anwendung ersetzen
Verfasst: Mittwoch 28. August 2024, 09:36
von gospat83
Hallo zusammen,
wir nutzen bei uns in der Firma eine Exceldatei um Prüfpunkte für den Produktionsprozess in tabellarischer Form zu erfassen und zu "tracken". Leider haben wir viele Kollegen die sich nicht wirklich mit Excel auskennen und diese zerschießen regelmäßig die Datei.
Meine Idee ist nun diese Liste durch eine Python Anwendung zu ersetzen. Für mich als Python Neueinsteiger wäre das ein ideales Projekt zum üben. Bevor ich starte hätte ich allerdings ein paar grundsätzliche Fragen. Wichtig ist, dass jeder User der die Anwendung später öffnet, stets den aktuellen Stand hat. Man muss also gewährleisten, dass entweder kein gleichzeitiges Nutzen möglich ist oder dass ständig eine Art Synchronisation erfolgt. Was wäre hier der einfachste Weg? In Excel erfolgt es bisher einfach durch die Meldung, dass die Datei schreibgeschützt ist. Außerdem sollen nur bestimmte Personen die Anwendung überhaupt nutzen können, kann man dafür das AD (Active Directory) nutzen? Und die letzte Frage wäre die Installation bzw. Nutzung. Stellt man das Ganze später im Netzwerk zur Verfügung und jeder öffnet die selbe Anwendung oder muss die Anwendung einzeln auf jedem Client installiert werden?
Viele Grüße
gospat
Re: Prüfpunktliste aus Excel durch Python Anwendung ersetzen
Verfasst: Mittwoch 28. August 2024, 10:33
von DeaD_EyE
Man muss also gewährleisten, dass entweder kein gleichzeitiges Nutzen möglich ist oder dass ständig eine Art Synchronisation erfolgt. Was wäre hier der einfachste Weg?
Mit einer Datenbank lässt sich das realisieren. Diese muss aber von allen Teilnehmern erreichbar sein und am besten auf einem Server laufen.
Dort könnte dann auch die Exe-Datei / Installer der Anwendung im Netzwerk zur Verfügung gestellt werden.
Außerdem sollen nur bestimmte Personen die Anwendung überhaupt nutzen können, kann man dafür das AD (Active Directory) nutzen?
Entweder über die Datenbank oder für AD gibt es vielleicht einen Wrapper für Python. Dann sollte man sich mit Windows-Server, AD und den Zugriff auskennen. Wenn man es über eine eigene Datenbank macht, daran denken, Passwörter nicht im Klartext abzuspeichern. Immer mit Hash + Salz.
Und die letzte Frage wäre die Installation bzw. Nutzung. Stellt man das Ganze später im Netzwerk zur Verfügung und jeder öffnet die selbe Anwendung oder muss die Anwendung einzeln auf jedem Client installiert werden?
Am besten als ausführbare EXE-Datei. PyInstaller kann das oder Nuitka (Python > C++ > execuatble).
Für die Installation von Python-Interpreter + Python-Code kann man auch pynsist nutzen. Das ist ein Wrapper für NSIS.
Sprich mit deinem Admin und falls du der Admin bist, viel Glück
Software zu verteilen, ist nicht immer so einfach. Vor allem dann, wenn auf den eingesetzten Hosts restriktive Regeln herrschen. Bei einigen darf der Anwender z.B. nichts installieren. Nur lokal (das sich wahrscheinlich auch deaktivieren lässt).
PS: Je nachdem welche Bibliotheken eingesetzt werden, kann die EXE-Datei oder das Verzeichnis ziemlich groß werden. Manchmal findet PyInstaller/Nuitka importierte Module nicht automatisch. Dann muss man diese mit angeben. Wenn man Ressourcen wie z.B. Bilder, Audio, Schriftarten usw. einbinden will, muss man das auch explizit mit angeben.
Re: Prüfpunktliste aus Excel durch Python Anwendung ersetzen
Verfasst: Mittwoch 28. August 2024, 10:39
von gospat83
Ok, man kann also groß zusammenfassen, dass die "Steuerung" eher auf Datenbankebene liegen sollte als in der App selbst. Das kommt mir durchaus entgegen. Einen bzw. mehrere DB-Server haben wir natürlich, das ist also kein Problem. Die AD Anbindung muss auch nicht zwingend sein, der Userkreis ist eigentlich überschaubar. Das könnte man also durchaus auch über Rollen auf der DB regeln.
Re: Prüfpunktliste aus Excel durch Python Anwendung ersetzen
Verfasst: Mittwoch 28. August 2024, 10:59
von Dennis89
Hallo,
würde es nicht mehr Sinn machen, eine Webanwendung zu schreiben, anstelle von ausführbaren Dateien zu verteilen?
`Django` bringt auch schon Datenbankanbindungen und Benutzerverwaltung mit und man kann sich sicher sein, dass die Benutzer immer alle die aktuellste Version des Codes nutzen.
Grüße
Dennis
Re: Prüfpunktliste aus Excel durch Python Anwendung ersetzen
Verfasst: Mittwoch 28. August 2024, 11:03
von gospat83
Wahrscheinlich schon, aber auf diesem Gebiet kenne ich mich null aus. Was wären denn Voraussetzungen um Django zu betreiben? Reicht da ein handelsüblicher Webserver wie Apache in Verbindung mit einer Datenbank?
Re: Prüfpunktliste aus Excel durch Python Anwendung ersetzen
Verfasst: Mittwoch 28. August 2024, 11:16
von DeaD_EyE
Als Webanwendung ist es natürlich in diesen Umgebungen besser, da ein Webbrowser immer vorinstalliert ist. Das hat auch den Vorteil, dass man die Anwendung nicht installieren/verteilen muss.
Es gibt unterschiedliche Webserver (Apache, Nginx, Caddy, ...) und unterschiedliche genormte Gateway Interfaces (wsgi, asgi).
Mit Django kenne ich mich nicht aus.
Alle nutzen ein Gateway Interface. Django hat aber eine gute Dokumentation:
https://docs.djangoproject.com/en/5.1/h ... i/modwsgi/
Re: Prüfpunktliste aus Excel durch Python Anwendung ersetzen
Verfasst: Mittwoch 28. August 2024, 11:19
von gospat83
Alles klar, vielen Dank schon mal für euren Input. Ich werde mich mal ein wenig bei Django einlesen und Rücksprache mit unserer IT-Leitung halten. Ich weiß nicht ob Webanwendungen bei uns gewünscht sind oder nicht? Tendenziell erscheint mir das aber die sinnigere Variante zu sein.
Re: Prüfpunktliste aus Excel durch Python Anwendung ersetzen
Verfasst: Mittwoch 28. August 2024, 18:37
von Sirius3
gospat83 hat geschrieben: Mittwoch 28. August 2024, 09:36Leider haben wir viele Kollegen die sich nicht wirklich mit Excel auskennen und diese zerschießen regelmäßig die Datei.
Daran sind nicht die Nutzer Schuld, das ist ein Feature von Excel .
Sobald mehr als eine Person auf Daten zugreifen soll, ist eine Web-Application immer der beste Weg.
Dazu muß man auch keinen eigenen Webserver aufsetzen, den bringt das Python-Framework gleich mit, und für so kleine Projekte, ist das völlig ausreichend. Direkten Zugriff auf die Datenbank sollte es nicht geben.
Wenn Ihr die Cloudvariante des AD benutzt (EntraID) ist eine Authentifizierung kein großes Problem, das Beispielprogramm liefert Microsoft bei der Registrierung gleich mit.
Die wichtigere Frage ist, was mit den Daten passieren soll, wie sie eingegeben und dargestellt werden sollen. Welche weiteren Analysen damit gemacht werden sollen, etc.
Wichtig ist aber, nicht gleich das perfekte Programm bauen zu wollen. Fange mit einem einfachen Beispiel, einem Prototypen an, und sammle damit Erfahrung.
Re: Prüfpunktliste aus Excel durch Python Anwendung ersetzen
Verfasst: Dienstag 24. September 2024, 06:58
von gospat83
Hallo nochmal,
mittlerweile habe ich mich etwas mit Django auseinandergesetzt und finde das Konzept dahinter sehr gut. Ich habe noch einen weiteren Anwendungsfall bei mir in der Firma, der ebenfalls sehr gut für eine Umsetzung in Django geeignet ist. Bevor ich mit diesem Projekt loslege, hätte ich aber gerne ein paar Tipps von den Experten wie ich mit folgendem Szenario am besten umgehe.
Meine Anwendung besteht im Prinzip aus zwei Teilen. Zum einen muss ich Daten aus einer SQL Server Datenbank lesen und anzeigen können und zum anderen soll der User Daten erfassen können. Beide Parts müssen über einen Schlüssel (Primary Key) miteinander in Verbindung stehen. Konkret: Ich lese Daten zu Projekt ABC aus der SQL Server Datenbank und der User kann zu diesem Projekt ABC jetzt weitere Daten erfassen.
Die Frage ist, wie setze ich das am besten um?
a) Ich schreibe die vom User eingegeben Daten in eine PostgreSQL DB und verbinde mich irgendwie mit der SQL Server Datenbank um von dort Daten zu lesen (evtl. DB-Link oder ähnliches)?
b) Ich binde nur die SQL Server Datenbank ein und speichere dort die vom User eingegeben Daten
Wie gut funktioniert denn eine Verbindung zu einer SQL Server DB? Von Hause aus wird sie anscheinend ja nicht von Django unterstützt.
Viele Grüße
gospat