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

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • scott

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

    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.p y randomX randomflip.py
    hotbits$ jython
    Jython 2.2a0 on java1.4.2_05 (JIT: null)[color=blue][color=green][color=darkred]
    >>> # Truly random (radioactive decay triggered) coin flip
    >>> from randomX import randomHotBits
    >>> r = randomHotBits()
    >>> if r.nextByte() < 0:[/color][/color][/color]
    .... 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)[color=blue][color=green][color=darkred]
    >>>[/color][/color][/color]

    ---------------------------

    Question:
    How can I run scripts as expected (outside interactive mode)?

    Thanks in advance.
  • Diez B. Roggisch

    #2
    Re: Jython run scripts problem (2.2.0a0 on Mac OSX 10.3.8)

    scott wrote:
    [color=blue]
    > 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.p y randomX randomflip.py
    > hotbits$ jython
    > Jython 2.2a0 on java1.4.2_05 (JIT: null)[color=green][color=darkred]
    > >>> # Truly random (radioactive decay triggered) coin flip
    > >>> from randomX import randomHotBits
    > >>> r = randomHotBits()
    > >>> if r.nextByte() < 0:[/color][/color]
    > ... 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)[color=green][color=darkred]
    > >>>[/color][/color]
    >
    > ---------------------------
    >
    > Question:
    > How can I run scripts as expected (outside interactive mode)?
    >
    > Thanks in advance.[/color]

    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:$CLA SSPATH"
    "org.python.uti l.jython" "$@"

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

    --
    Regards,

    Diez B. Roggisch

    Comment

    Working...