Hallo allerseits,
ich habe folgendes Problem:
Ich habe auf einem Linux-Rechner ein Java-Tool mit GUI programmiert, welches auf einen Button-Klick hin ein Python-Skript (Prozess über System-Call) startet. Dieses Python-Skript benutzt (importiert) Libraries wie "Matplotlib".
Das ist auf dem Linuxrechner kein Problem, da diese Libraries dort schon installiert sind.
Nun will ich das JAR-File auf beliebigen Windowsrechnern laufen lassen. Das Problem ist, dass dort "Matplotlib" höchstwahrscheinlich nicht installiert ist.
Gibt es eine Möglichkeit, Python-Libraries irgendwie mitzuliefern, indem man sie im JAR-File an entsprechender Stelle ablegt?
Alle Lösungsvorschläge sind herzlich willkommen.
Viele Grüße,
Apotekarnes
Python Libraries in Java .jar File bereitstellen
Es gibt die Möglichkeit, Python-Files samt verwendeter Bibliotheken in eine einzige EXE-Datei zu packen. Diese EXE-Datei könnte dann als Programmaufruf ausgeführt werden, ähnlich wie du es jetzt schon machst. Das Einbinden einer solchen Ressource in ein JAR-File ist bestimmt auch möglich. Zu letzterer Frage können aber andere Leute sicherlich kompetenter antworten als ich, da ich das Einbinden von Ressourcen bisher nicht gemacht habe.
-
BlackJack
@snafu: Von einem JAR würde ich erwarten dass es plattformunabhängig ist. Das ist es nicht mehr wenn da Binärcode für ein bestimmtes System und eine bestimmte Hardware drin steckt.
-
Apotekarnes
- User
- Beiträge: 18
- Registriert: Mittwoch 21. September 2011, 10:02
@snafu: Habe nun sowohl PyInstaller als auch py2exe ausprobiert und mit beiden keine lauffähigen EXE-Dateien zustande gebracht. Das Problem waren immer irgendwelche Libraries, die im Python-Skript/der EXE-Datei importiert werden. Von diesen importiere ich ziemlich viele und es ist ein Alptraum die Umwandlung dafür zu konfigurieren.
@BlackJack:
Ja, ich tendiere auch eher in diese Richtung.
Kann nicht Java beim Erstellen der .JAR alles nötige reinpacken?
@BlackJack:
Ja, ich tendiere auch eher in diese Richtung.
Kann nicht Java beim Erstellen der .JAR alles nötige reinpacken?
-
deets
@Apotekarnes
Alles noetige reinpacken ist genau das, was py2exe machen. Wenn es das nicht tut, musst du irgndwie von Hand Rezepte schreiben, die das erledigen. Wenn du das komplett selbst machen willst, dann wird das eher noch komplexer.
Alles noetige reinpacken ist genau das, was py2exe machen. Wenn es das nicht tut, musst du irgndwie von Hand Rezepte schreiben, die das erledigen. Wenn du das komplett selbst machen willst, dann wird das eher noch komplexer.
