Jython run scripts problem (2.2.0a0 on Mac OSX 10.3.8)

Diez B. Roggisch deetsNOSPAM at web.de
Thu Apr 21 18:14:31 EDT 2005


scott wrote:

> I installed darwinports and did a "sudo port install jython"
> 
> -------------------------
> 
> scott$ which jython
> /opt/local/bin/jython
> 
> -------------------------
> 
> Jython works in interactive mode as shown below:
> 
> -------------------------
> 
> pyprogs$ cd hotbits/
> hotbits$ ls
> flips50.py      jythoninstall.py randomX          randomflip.py
> hotbits$ jython
> Jython 2.2a0 on java1.4.2_05 (JIT: null)
>  >>> # Truly random (radioactive decay triggered) coin flip
>  >>> from randomX import randomHotBits
>  >>> r = randomHotBits()
>  >>> if r.nextByte() < 0:
> ...     print 'tails'
> ... else:
> ...     print 'heads'
> ...
> tails
> 
> --------------------------
> 
> Jython *doesn't* work if I save the above as a script and try to run it.
> It refuses to run the script and simply starts up in interactive mode:
> 
> ---------------------------
> 
> hotbits$ jython randomflip.py
> Jython 2.2a0 on java1.4.2_05 (JIT: null)
>  >>>
> 
> ---------------------------
> 
> Question:
> How can I run scripts as expected (outside interactive mode)?
> 
> Thanks in advance.

Looks as if the jython shell script does not pass your scriptname as
argument to the interpreter class.

Mine (on linux) looks like this:

"/usr/lib/j2se/1.4/jre/bin/java" -Dpython.home="/home/deets/lib/jython-2.1"
-classpath "/home/deets/lib/jython-2.1/jython.jar:$CLASSPATH"
"org.python.util.jython" "$@"

Note the "$@" - that passes all additional arguments.

-- 
Regards,

Diez B. Roggisch



More information about the Python-list mailing list