Python Skript kompilieren inkl. importierter Bibliotheken

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
stiner313
User
Beiträge: 12
Registriert: Samstag 28. Januar 2017, 09:52

Hallo Zusammen,

ich habe ein Skript in Python3 geschrieben, welches ich gerne anderen zur Verfügung stellen möchte.
In diesem Skript werden Standardbibliotheken (z.B. BeautifulSoup4, OpenPyxl) importiert.

Diese habe ich bei mir über pip installiert weshalb das Skript bei mir auch lauffähig ist.
Jetzt möchte ich gerne dieses Skript anderen zur Verfügung stellen, die offline arbeiten, keine Möglichkeit haben wg. Admin-Rechten Dinge zu installieren und/oder keine großen Kenntnisse in Python haben und wahrscheinlich schon daran scheitern werden, eine pip Installation durchzuführen.

Ich weiß, dass es über PyInstaller Möglichkeiten gibt eine Exe zu erzeugen, die dann standalone ausführbar ist und alle notwendigen Bibliotheken enthält. Ich frage mich aber ob das auch für eine pyc (kompilierte Pyhton-Datei) funktioniert? Python3 installiert haben die Kollegen auch, das wäre nicht das Problem. Ich möchte nur keine exe erzeugen.

Ich wäre dankbar für Input.

Viele Grüße!
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wieso keine Exe?

Und es sind genau *keine* Standardbibliotheken. Sondern Bibliotheken von 3ten. Standard ist, was schon mit Python kommt.
stiner313
User
Beiträge: 12
Registriert: Samstag 28. Januar 2017, 09:52

Hallo, erstmal danke für die Antwort.

Sorry, habe mich falsch ausgedrückt.
Habe aus Erfahrungen Bedenken in der Firma exe Dateien zu verteilen und habe mich gefragt, ob es nicht auch über kompilierte Python Dateien geht.
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Gehen ja. Aber dann wirst du das alles selbst bauen müssen. Du kannst die PYC in eine Verzeichnisstrukur Ablegen, die sowohl deine als auch die Pakete die dabei sein sollen enthält. Dazu muss das start-Skript im Zweifelsfall den Pfad in sys.path manipulieren, damit die importierbar sind. Alles wissen, welches pyinstaller hat.
stiner313
User
Beiträge: 12
Registriert: Samstag 28. Januar 2017, 09:52

Benötigen denn dann andere um diese exe zu starten um das Skript auszuführen Admin-Rechte?
Falls nicht wird das wohl doch der beste Weg zu sein.
narpfel
User
Beiträge: 645
Registriert: Freitag 20. Oktober 2017, 16:10

Es gibt auch noch Zipapps, die können auch Dependencies enthalten.
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ich glaube nicht, das man Admin rechte benötigt. Aber Versuch macht Kluch, und was bei deinen Admins via Gruppenrechten geht oder nicht geht, kann hier keiner sagen. Ich würde es erstmal probieren, weil es der ausgetretene Pfad ist. Erst wenn das nicht geht muss man einen eigenen Weg beschreiten. Die zipapps kannte ich nicht, die können dabei sicher helfen. Eine batch Datei wird dafür aber auch notwendig sein, die Kommandozeile ist ja schon etwas speziell.
Antworten