Installation von j2py

Probleme bei der Installation?
Antworten
zander180_0
User
Beiträge: 29
Registriert: Samstag 18. Juli 2009, 19:54

Hallo,
ich habe ein Problem mit der Installation von j2py. Ich habe die Installation so durchgeführt, wie hier beschrieben: http://www.velocityreviews.com/forums/t ... ewbie.html

Allerdings komm ich ab dem Schritt, wo die Version von j2py überprüft werden soll nicht weiter. Wenn ich das ganze so eingebe, wie verlangt erhalte ich die Fehlermeldung, dass der Befehl entweder falsch ist oder nicht gefunden wurde.

Könnt ihr mir da weiter helfen? Vielleicht kann mir nochmal jemand eine Anleitung zusammen schreiben.
BlackJack

@zander180_0: Was hast Du denn genau gemacht? Welche Meldungen hattest bei der Installation von j2py?
zander180_0
User
Beiträge: 29
Registriert: Samstag 18. Juli 2009, 19:54

Ich habe das Paket zunächst entpackt. Dann über die Konsole installiert
mit C:\Python25\java2python-0.2>C:\Python2.5\python.exe setup.py install

Die Installation hat auch reibungslos ohne Fehler geklappt. Im Anschluss wollte ich mit j2py -version die Version checken, habe allerdings den Fehler erhalten, dass der Befehl falsch oder nicht vorhanden sei.

Wenn ich eine java-Datei konvertieren möchte, erhalte ich den selben Fehler.
BlackJack

@zander180_0: Was hat denn die Installation gesagt wo das Programm hin kopiert wurde? Kannst Du `java2python` in Python importieren?
zander180_0
User
Beiträge: 29
Registriert: Samstag 18. Juli 2009, 19:54

also importieren kann ich es. Das heißt, das es doch mit Python verbunden ist. Wenn ich allerdings, wie in der Anweisung

D:\myjavafiles\> j2py -i someclass.java -o someclass.py

ausführe, erhalte ich halt immer die Fehlermeldung, dass es den Befehl nicht gibt.
Gibt es noch eine andere Möglichkeit mit j2py zu arbeiten?
BlackJack

@zander180_0: Wo hat die Installation das Programm denn nun hin kopiert? Kann es sein, dass Du es unter dem Namen j2py.py aufrufen musst? Oder vielleicht so umbenennen musst? Denn unter Windows braucht man die Namensendung ja, damit Windows weiss womit das Skript ausgeführt werden muss. Vorausgesetzt Python wurde so installiert, dass die Endung .py mit dem Interpreter verbunden ist.
zander180_0
User
Beiträge: 29
Registriert: Samstag 18. Juli 2009, 19:54

Also ich hab mal alles kopiert, was die Konsole angezeigt hat:

C:\Python25\java2python-0.2>c:\python25\python.exe setup.py install
running install
running build
running build_py
creating build
creating build\lib
creating build\lib\java2python
copying java2python\__init__.py -> build\lib\java2python
creating build\lib\java2python\lib
copying java2python/lib\defaultconfig.py -> build\lib\java2python/lib
copying java2python/lib\lexer.py -> build\lib\java2python/lib
copying java2python/lib\parser.py -> build\lib\java2python/lib
copying java2python/lib\sourcetypes.py -> build\lib\java2python/lib
copying java2python/lib\walker.py -> build\lib\java2python/lib
copying java2python/lib\__init__.py -> build\lib\java2python/lib
copying java2python/lib\java.g -> build\lib\java2python/lib
copying java2python/lib\walker.g -> build\lib\java2python/lib
copying java2python/lib\JavaTokenTypes.txt -> build\lib\java2python/lib
copying java2python/lib\walkerTokenTypes.txt -> build\lib\java2python/lib
running build_scripts
creating build\scripts-2.5
copying and adjusting java2python\bin\j2py -> build\scripts-2.5
copying and adjusting java2python\bin\jast_print -> build\scripts-2.5
running install_lib
creating c:\python25\Lib\site-packages\java2python
creating c:\python25\Lib\site-packages\java2python\lib
copying build\lib\java2python\lib\defaultconfig.py -> c:\python25\Lib\site-packa
ges\java2python\lib
copying build\lib\java2python\lib\java.g -> c:\python25\Lib\site-packages\java2p
ython\lib
copying build\lib\java2python\lib\JavaTokenTypes.txt -> c:\python25\Lib\site-pac
kages\java2python\lib
copying build\lib\java2python\lib\lexer.py -> c:\python25\Lib\site-packages\java
2python\lib
copying build\lib\java2python\lib\parser.py -> c:\python25\Lib\site-packages\jav
a2python\lib
copying build\lib\java2python\lib\sourcetypes.py -> c:\python25\Lib\site-package
s\java2python\lib
copying build\lib\java2python\lib\walker.g -> c:\python25\Lib\site-packages\java
2python\lib
copying build\lib\java2python\lib\walker.py -> c:\python25\Lib\site-packages\jav
a2python\lib
copying build\lib\java2python\lib\walkerTokenTypes.txt -> c:\python25\Lib\site-p
ackages\java2python\lib
copying build\lib\java2python\lib\__init__.py -> c:\python25\Lib\site-packages\j
ava2python\lib
copying build\lib\java2python\__init__.py -> c:\python25\Lib\site-packages\java2
python
byte-compiling c:\python25\Lib\site-packages\java2python\lib\defaultconfig.py to
defaultconfig.pyc
byte-compiling c:\python25\Lib\site-packages\java2python\lib\lexer.py to lexer.p
yc
byte-compiling c:\python25\Lib\site-packages\java2python\lib\parser.py to parser
.pyc
byte-compiling c:\python25\Lib\site-packages\java2python\lib\sourcetypes.py to s
ourcetypes.pyc
byte-compiling c:\python25\Lib\site-packages\java2python\lib\walker.py to walker
.pyc
byte-compiling c:\python25\Lib\site-packages\java2python\lib\__init__.py to __in
it__.pyc
byte-compiling c:\python25\Lib\site-packages\java2python\__init__.py to __init__
.pyc
running install_scripts
creating c:\python25\Scripts
copying build\scripts-2.5\j2py -> c:\python25\Scripts
copying build\scripts-2.5\jast_print -> c:\python25\Scripts
running install_egg_info
Writing c:\python25\Lib\site-packages\java2python-0.2-py2.5.egg-info

C:\Python25\java2python-0.2>


Ich hoffe damit kannst du etwas anfangen.
BlackJack

@zander180_0: Hier steht wo das Skript hinkopiert wurde: ``copying build\scripts-2.5\j2py -> c:\python25\Scripts``. Unter Windows wird das die Endung .py haben müssen. Und der Pfad muss in %PATH% enthalten sein.

Was willst Du damit überhaupt anfangen? Das scheint mir nicht sehr sinnvoll zu sein.
zander180_0
User
Beiträge: 29
Registriert: Samstag 18. Juli 2009, 19:54

Das heißt also, dass ich eine Umgebungsvariable mit Windows anlegen muß? Wenn ja, welchen Pfad muß ich da angeben?

Ich möchte einen Java Web Service mit einen Python Client aufbauen. Dazu wollte ich erstmal einen ganz einfachen HelloWorld Service nehmen. Da ich allerdings nichts richtiges finde hatte ich mir gedacht, den Web Service komplett in Java zu realisieren (inkl. Client) und im Anschluss den Client in Python zu konvertieren. Geht denn das Überhaupt?

Ein anderer Weg (nicht die optimale Lösung) wäre die Kommunikation über RPC. Der Server wäre dann ebenfalls in Java. Dazu habe ich allerdings auch nichts richtiges bisher gefunden.
lunar

@zander180_0: Ich bin ehrlich gesagt ziemlich überrascht von dem Versuch an sich. Ist es nicht vollkommen offensichtlich, dass dieser Ansatz nicht funktionieren wird? Die Implementierung eines Webdienstes in Java verwendet schließlich Java-Bibliotheken. Daran ändert sich auch nichts durch die syntaktische Umwandlung in Python-Quelltext, das Programm verwendet auch danach immer noch Java-Bibliotheken. Doch nur weil man das Programm mal in Java geschrieben hat, kann CPython trotzdem nicht auf magische Weise plötzlich Java-Bibliotheken nutzen. Wie hast Du Dir das überhaupt vorgestellt?!

Möchtest Du in Python auf Java-Bibliotheken zurückgreifen, so musst Du jython verwenden.
zander180_0
User
Beiträge: 29
Registriert: Samstag 18. Juli 2009, 19:54

Ja klar,
daran hab ich überhaupt nicht gedacht.
Von Jython hab ich auch bereits gelesen allerdings habe ich keine Ahnung, wie ich das im Zusammenhang mit dem Web Service einsetze.
Wie bereits gesagt wäre ich über ein ganz simples Beispiel dankbar um zu sehen, wie das ganze gemacht wird.
BlackJack

@zander180_0: Ich weiss immer noch nicht ob ich Dich richtig verstanden habe – Du willst einen Web-Service in Java programmieren und dazu einen Client in Python!? Wo käme dann Jython ins Spiel? Für den Client? Aber warum dann überhaupt Python und nicht gleich alles in Java?

Wo kommen denn die Anforderungen her? Warum müssen es Java und Python sein? Warum ein Web-Service? Web-Services sind soweit ich das sehe in der Python-Welt nicht besonders beliebt. Da setzt man lieber auf leichtgewichtigere Sachen wie XML-RPC ohne den ganzen SOAP/WSDL-Kram, oder auf JSON-RPC.

Ich persönlich würde selbst CORBA einem SOAP-Webservice vorziehen. Das ist wenigstens unabhängig vom Rahmenwerk und der Programmiersprache. Das ist bei SOAP meiner Erfahrung nach oft nur theoretisch der Fall. Das ein anderes Rahmenwerk die automatisch generieren WSDL-Wüsten versteht bzw. genau so versteht ist leider nicht immer gegeben.
Antworten