Scala から Jython を呼んでみる

AndroidScala もいいけど、 Python は仕事で使っているし、慣れているから捨てがたい。
というわけで、 JVM で動く Python である Jython を使ってみる。

install

jython は apt-get で OK.

$ sudo apt-get install jython

普通に使ってみる

$ jython
>>> import sys
>>> sys.exit()

普通の python ですね。

scala から呼び出してみる

JythonFaq/DistributingJythonScripts - JythonWiki

/usr/share/java/jython.jar にパスを通す必要がある。

$ scala -cp /usr/share/java/*.jar
scala> val py = new org.python.util.PythonInterpreter
*sys-package-mgr*: can't create package cache dir, '/usr/share/java/jython-2.2.1.jar/cachedir/packages'
py: org.python.util.PythonInterpreter = org.python.util.PythonInterpreter@166fdde

scala> py.eval("[1,2,3]")
res0: org.python.core.PyObject = [1, 2, 3]

scala> py.exec("print 10")
10

すごーく良い感じですねー。
ただし、これだと初期化処理が色々足りないようなので、使うときはもう少しやらないといけないっぽい。

まあ、あとは適当に遊べそう。