如何从Grails调用Python库(提到Jython)?

时间:2018-05-20 22:16:25

标签: python grails jython

Jython可以帮助吗?我应该在Jython之上运行Grails,如果是的话,怎么样?不知怎的,我应该能够在同一个JVM上运行Grails和Python脚本。还有其他可能性,例如为Python脚本或某些进程间通信创建REST服务,但暂时不处理这些。

1 个答案:

答案 0 :(得分:0)

Jython是一种JSR223脚本语言,因此您应该能够遵循常用方法。 (http://www.jython.org/archive/22/userguide.html#embedding-jython

ScriptEngine engine = new ScriptEngineManager().getEngineByName("python")
engine.eval("x = 2 + 2")

让您的Jython和您想要使用的任何库在您的服务器上组织起来可能是一件非常重要的事情,但如果您只需要语言和标准库,那么您应该能够将其添加为构建文件中的依赖项 - 它位于Maven Central(compile 'org.python:jython:2.7.1b3')上。

但请记住,许多python库(即使用已编译的C代码的库)不能与Jython一起使用。

因此,您可能需要使用本机python安装并将其称为进程(例如,使用ProcessBuilder)。 Groovy有一些很好的糖用于做这种带字符串的事情。

Process process = "python mypython.py".execute()

互联网搜索" groovy执行shell命令"会产生很多例子。根据您的部署方案,设置和维护可能很棘手。