Python Skript installieren?

4 Antworten

Du hast eine der großen Schwächen von Python gefunden: Konfigurationsmanagement und Verteilung. Es gibt keine Patentlösung. In serverseitigen Installationen werden oft Docker-Container verteilt, was natürlich bei Privatanwendern und clientseitig schwierig ist. Ansonsten ist auch Anaconda beliebt - das löst das Problem auch nicht ganz, aber man zumindest getrennte Umgebungen machen.

Jar Datei erstellen. Dann lässt es sich unter android, linux, windows und mac OS ausführen.

Klar, man kann auf Python verzichten und stattdessen Java oder eine andere JVM-Sprache verwenden (Jython ist leider in seinen Möglichkeiten begrenzt).


NadiaSteinbrink 
Beitragsersteller
 18.08.2021, 14:16

ich brauche aber python XD, es geht um einen discord bot, der gratis beliebig viele datein online speichert, und die pythonapi für discord ist deutlich besser als die java api

Die Python Virtual Environment (venv) dürfte deine beste Option sein.

Ich hatte vor einer Weile mal ein Python Projekt mit der PyCharm IDE erstellt. Ein Virtual Environment wurde automatisch dazu erstellt. Wie man es nachträglich erstellen kann, weiß ich nicht.

Die Umgebung ist dazu da, um sich vom installierte Python und den Abhängigkeiten zu lösen. Manche Abhängigkeiten könnten untereinander konflikte auslösen, oder Python 3.8 ist kompatibel, aber Python 3.9 nicht mehr.

In dem Projekt Ordner mit venv wird u.A. dein Python Script(e) gespeichert, aber auch Python selber, sowie alle pip Module. Mit den beigelegten Activate Scripten kann man die Umgebung aktivieren und das Python Script ausführen.

Kein Ahnung, ob Python noch Runtime Abhängigkeiten hat, welche nicht in der Umgebung gespeichert sind. Ich weiß auch nicht, wie es aussieht, wenn ein pip Modul eine dynamische plattformabhängige Bibliothek (.dll, .dylib, .so) benötigt. Eventuell werden diese nicht in der Virtuellen Umgebung gespeichert.

Die Aktivierungsscripte gibt es für CMD (.bat), für PowerShell (.ps1) und als Bash Script. Die Python Binaries sind nur für Windows beigelegt, also .exe Dateien.

Du könntest dein Projekt erstmal zu einer Virtual Environemt hinzufügen und dort alle Abhängigkeiten hinzufügen. Bevor du es jemanden schickst, könntest du es auf einem zweiten PC oder in einer VM austesten.

Da in der virtuellen Umgebung viele kleine Dateien zum Einsatz kommen, könnten das packen in eine Zip Datei vom Vorteil sein. Das Verteilen über einen Git Server dürfte auch sehr gut sein.

Ich denke nicht, dass man mit einen Python Skript eine .jar Datei erstellen kann.

.jar Dateien lassen sich nur von Java erstellen


NadiaSteinbrink 
Beitragsersteller
 18.08.2021, 14:09

Also gehen tut das aufjedenfall, du kannst python in bytecode kompilieren und dann mit javadecompilator wieder entkompilieren...

NadiaSteinbrink 
Beitragsersteller
 18.08.2021, 14:10
@NadiaSteinbrink

dann kannst du es mit java wieder kompilieren und schon hast du ne jardatei, die frage ist nur, funktioniert danach alles noch so wie vorher?

alfredo153  18.08.2021, 14:12
@NadiaSteinbrink

Keine Standardimplementierung von Python geht auf die JVM, es gibt nur das eher eingeschränkte Jython. Selbst dann hast du noch ein Problem: viele Python-Libraries sind zumindest teilweise in nativem Code geschrieben, müssen dann also wieder für jede Plattform spezifisch ausgeliefert werden.

verreisterNutzer  18.08.2021, 14:12
@NadiaSteinbrink

Da fragst du den falschen xD Aber gefühlsmäßig ist es denke ich gar keine gute Idee. Entweder du macht das mit wasch echtem Java, um eine jar zu bekommen oder mit Python, wo du aber nur eine exe generieren kannst.

alfredo153  18.08.2021, 14:16
@alfredo153

Ergänzung: GraalVM wäre eine modernere Variante statt Jython, leidet aber unter demselben Problem mit Abhängigkeiten. Ist auch noch am Anfang.