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 -- http://mail.python.org/mailman/listinfo/python-list