Seite 1 von 1

Python nicht lokal, sondern im Netzwerk / Netzlaufwerk

Verfasst: Montag 26. Oktober 2020, 13:57
von cloos
Hallo zusammen,

ich bin neu hier und versuche mich mit Python zu beschäftigen.
Ein Herausforderung für mich ist, das ich vielen Usern Python Skripte zur Verfügung stellen möchte und nicht auf jedem Rechner Python mit allen benötigten Modulen installieren möchte. Auch das Update von Modulen und die Wartung macht dieses dann schwierig.

Meine Idee ist es:
Python mit den erforderlichen Modulen auf einem Server/Netzlaufwerk zu installieren. Der User stellt bei seinem Rechner nur einen Netzwerkpfad in den Umgebungsvariablen ein und der Script läuft. Er muss sich also nicht mit der Installation von Python und dessen Modulen beschäftigen.

Stand schonmal jemand vor dieser Herausforderung, kann jemand berichten und weiss jemand eine Adequate Lösung.

Zweite Sache die funktionieren muss. Auch im Browser "Chrome" / "IE" / "Edge" muss der Skript, auf einer Seite vom Webserver angeboten, ausführbar sein.

Ich hoffe ihr könnt mir helfen. Wie gesagt, es soll so umständlich wie möglich vom User startbar sein.

Gruß
Roland Cloos

Re: Python nicht lokal, sondern im Netzwerk / Netzlaufwerk

Verfasst: Montag 26. Oktober 2020, 15:15
von sparrow
Man kann den Interpreter auf ein Netzlaufwerk legen. Die Modula auch. Aber gerade Netzlaufwerke unter Windows überzeugen nicht mit überragender Geschwindigkeit.

Die zweite Sache verstehe ich nicht. Python im Browser ausführen?

Re: Python nicht lokal, sondern im Netzwerk / Netzlaufwerk

Verfasst: Montag 26. Oktober 2020, 16:52
von __deets__
Zum ersten: das wird IMHO nix. Es gab mal ein Projekt “movable Python”, das sowas erlaubt hätte. Aber das ist tot. Mit Projekten wie PyInstaller kannst du immerhin einen bequemen installer anbieten.

Die zweite Anforderung ist ungenau beschrieben. Gegebenenfalls sind Projekte wie Jupyter oder Python anywhere die Lösung.

Re: Python nicht lokal, sondern im Netzwerk / Netzlaufwerk

Verfasst: Montag 26. Oktober 2020, 19:13
von sparrow
@__deets__ : Wo siehst du denn bei der ersten Frage Schwierigkeiten? Wenn man den Interpreter aufruft, wird ja in dessen Unterverzeichnissen nach dem "site-package"-Verzeichnis mit den Modulen gesucht.

Eine Alternative wäre, mit Pyinstalle eine .exe zu bauen, aber ich kann mir Szenarien vorstellen, in der so ein Interpreter auf einem Netzlaufwerk durchaus seinen Charme hat. Zum Beispiel, wenn man mehrere kleinere Scripte hat statt einem großen Programm.

Re: Python nicht lokal, sondern im Netzwerk / Netzlaufwerk

Verfasst: Montag 26. Oktober 2020, 23:02
von __deets__
@sparrow: ich habe das lange nicht ausprobiert, aber das sowas unter Windows geht wäre mir neu. Ich lasse mich da aber gerne eines besseren belehren :)

Re: Python nicht lokal, sondern im Netzwerk / Netzlaufwerk

Verfasst: Montag 26. Oktober 2020, 23:43
von narpfel
@__deets__: Ist das nicht genau der Mechanismus, mit dem Virtualenvs arbeiten? Dass Python das `site-packages`-Verzeichnis relativ zum Interpreter sucht? Oder ist das unter Windows anders?

Re: Python nicht lokal, sondern im Netzwerk / Netzlaufwerk

Verfasst: Dienstag 27. Oktober 2020, 00:17
von __deets__
Soweit ich mich erinner arbeiten venvs unter Windows mit batch files. Nicht dem kopierten Interpreter. Ich kann mich da Aber auch irren.

Re: Python nicht lokal, sondern im Netzwerk / Netzlaufwerk

Verfasst: Montag 22. März 2021, 15:05
von pycoding.de
Anleitung:
Schritt 1: Das Skript in eine exe umwandeln:

(pyinstaller installieren:
https://pypi.org/project/pyinstaller/
Warnung: Achte darauf wenn es mehrere Benutzer auf dem PC gibt, dass du cmd als admin ausführst (Rechtsklick "Als admin auführen"),

pyinstaller benutzen:
https://youtu.be/QWqxRchawZY)
Warnung: Achte darauf wenn es mehrere Benutzer auf dem PC gibt, dass du cmd als admin ausführst (Rechtsklick "Als admin auführen")

Schritt 2: Ein setup erstellen:
(setupmaker installieren:
https://installforge.net/download/

setupmaker nutzen:
https://youtu.be/YS6_aJv9nx0
Das Tutorial ist vieleicht schon etwas älter aber es sollt trotzdem funktionieren
Warnung eines hat er beim Tutorial nicht erwähnt: Du brauchst eine leere .EXE Datei in der der Setupmker reinschreibt (Nur um ein eigenes Setup zu erstellen NICHT ZUM INSTALLIEREN)
Da kann ich dir empfehlen eine leere .BAT Datei in eine .EXE zu konvertieren (Es ist nicht gerade die schönste Methode aber ich habe keine bessere gefunden)
Download link zum Konvertor: https://www.chip.de/downloads/Bat-To-Ex ... 02845.html
Diese leere .EXE Datei wählst du dann aus bei der letzten Kategorie "Buid" im Setupmaker)

Falls die Links so nicht funktionieren wenn du sie anklickt dan füg sie bitte manuell im Browser deiner Wahl ein und wenn du immer noch Hilfe brauchst dann schreib mir! :D