DarkMatter in Cyberspace
  • Home
  • Categories
  • Tags
  • Archives

jep Notes


Run Python in Java with jep

$ conda create -n jep2 python=3.5
$ . activate jep2
$ pip install jep
$ export LD_LIBRARY_PATH="/home/leo/apps/miniconda3/envs/jep2/lib/python3.5/site-packages/jep"

$ cat << EOF > HW.java
import jep.Jep;
public class HW {
  public static void main(String[] args) {
    try (Jep myjep = new Jep(false)){
      myjep.eval("from java.lang import System");
      myjep.eval("s = 'Hello World'");
      myjep.eval("System.out.println(s)");
      myjep.eval("print(s)");
      myjep.eval("print(s[1:-1])");
    } catch (Exception e) {
      System.err.println("Caught Exception: " + e.getMessage());
    }
  }
}
EOF

$ javac -cp /home/leo/apps/miniconda3/envs/jep2/lib/python3.5/site-packages/jep/jep-3.7.1.jar HW.java
$ java -cp .:/home/leo/apps/miniconda3/envs/jep2/lib/python3.5/site-packages/jep/jep-3.7.1.jar HW

Run Interactive Shell

$ jep
>>> from java.lang import System
>>> System.out.println("hello")
hello

See more details with cat $(which jep).

Old notes in 2013.3.19

jepp产品包在Java Embedded Python, 据作者说可以将python代码嵌入到Java代码中,且效率很高。

安装

官网上下载的是源代码包,需要编译,因此Windows上就不考虑了。

Ubuntu

pip install jep

如果提示安装失败,需要设置JAVA_HOME,这样设置:

export JAVA_HOME=/usr/lib/jvm/default-java

在/usr/lib/jvm下可能会有好几个java版本目录,具体使用哪个需要根据实际情况而定。

使用

Ubuntu下运行jep提示找不到启动类jep.Run,原因不明。



Published

Mar 19, 2013

Last Updated

Dec 18, 2017

Category

Tech

Tags

  • Java 106
  • jep 1
  • Python 136

Contact

  • Powered by Pelican. Theme: Elegant by Talha Mansoor