Seite 1 von 1

jython classpath

Verfasst: Mittwoch 14. Oktober 2009, 18:26
von Twilo
Hallo,

wie muss ich den jython Aufruf abändern, damit die python-Module gefunden werden? Aus Eclipse heraus funktioniert alles. :?

Code: Alles auswählen

kay@debian ~/workspace/XxxTeamforge $ JYTHONPATH=lib/sf_soap50_sdk.jar:lib/log4j-1.2.8.jar:lib/axis.jar:lib/jaxrpc.jar java -jar lib/jython.jar src/xxx/example2.py
Traceback (most recent call last):
  File "src/xxx/example2.py", line 8, in <module>
    from csvreader import CSVFile, CSVField, CSVModel, CSVDataSet
  File "/home/kay/workspace/XxxTeamforge/src/xxx/csvreader.py", line 3, in <module>
    from csv import reader
ImportError: No module named csv

Code: Alles auswählen

kay@debian ~/workspace/XxxTeamforge $ java -jar lib/jython.jar -c "from csv import reader"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named csv

Code: Alles auswählen

kay@debian ~/workspace/XxxTeamforge $ jython -c "from csv import reader"
Traceback (innermost last):
  File "<string>", line 1, in ?
ImportError: no module named csv

Code: Alles auswählen

kay@debian ~/workspace/XxxTeamforge $ java -version
java version "1.6.0_16"
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)
kay@debian ~/workspace/XxxTeamforge $ java -jar lib/jython.jar --version
Jython 2.5.1
kay@debian ~/workspace/XxxTeamforge $ jython --version
Jython 2.2.1 on java1.6.0_0
mfg
Twilo

Verfasst: Mittwoch 14. Oktober 2009, 20:56
von sma
Ich nix Jython, aber mir kommt es komisch vor, dass in dem Pfad zwar 2 1/2 Java-Libs stehen, doch kein Pfad in dem Jython seine Standardbibliothek findet. Warum musst du denn JYHTONPATH überhaupt überschreiben? Ich hätte vermutet, Jython findet Java-Klassen über den normalen CLASSPATH.

Andererseits zeigt dein zweites Beispiel ja, dass auch ohne JYTHONPATH nix geht. Offenbar hast du keine Standardbibliothek. Vielleicht ist das bei Debian wieder alles auseinander gehackt und dir fehlt noch ein Paket?

Meine Installation (die ich komischerweise auf dem Rechner hatte wie mir Spotlight gemeldet hat) lebt in einem Verzeichnis "jython2.5.0" in dem direkt das "jython.jar" liegt und wo ein "Lib"-Ordner existiert, in dem die Standardbibliothek steckt. Ein ``java -jar jython.jar -c "import csv"`` funktioniert da wie erwartet. Ein ``bin/jython`` ebenfalls.

Stefan

Verfasst: Freitag 16. Oktober 2009, 10:46
von Twilo
Hallo,
sma hat geschrieben:Ich nix Jython, aber mir kommt es komisch vor, dass in dem Pfad zwar 2 1/2 Java-Libs stehen,
wie meinst du das mit den 2,5 Java-Libs?
sma hat geschrieben:doch kein Pfad in dem Jython seine Standardbibliothek findet. Warum musst du denn JYHTONPATH überhaupt überschreiben? Ich hätte vermutet, Jython findet Java-Klassen über den normalen CLASSPATH.

Andererseits zeigt dein zweites Beispiel ja, dass auch ohne JYTHONPATH nix geht. Offenbar hast du keine Standardbibliothek. Vielleicht ist das bei Debian wieder alles auseinander gehackt und dir fehlt noch ein Paket?

Meine Installation (die ich komischerweise auf dem Rechner hatte wie mir Spotlight gemeldet hat) lebt in einem Verzeichnis "jython2.5.0" in dem direkt das "jython.jar" liegt und wo ein "Lib"-Ordner existiert, in dem die Standardbibliothek steckt. Ein ``java -jar jython.jar -c "import csv"`` funktioniert da wie erwartet. Ein ``bin/jython`` ebenfalls.
ich verwende die Standalone jython.jar, die im lib Ordner des Eclipse Projekts liegt.

Mit folgenden Befehl klappt es jetzt

Code: Alles auswählen

java -classpath lib/jython.jar:lib/sf_soap50_sdk.jar:lib/log4j-1.2.8.jar:lib/jaxrpc.jar:lib/commons-logging.jar:lib/commons-discovery.jar:lib/axis.jar -Dpython.path=lib/sf_soap50_sdk.jar:lib/log4j-1.2.8.jar:lib/jaxrpc.jar:lib/commons-logging.jar:lib/commons-discovery.jar:lib/axis.jar org.python.util.jython src/xxx/example2.py
mfg
Twilo