当前位置: 动力学知识库 > 问答 > 编程问答 >

Drive java / kulla from pexpect? (Context: Jupyter)

问题描述:

I am trying to use the java_kernel for jupyter (https://github.com/Bachmann1234/java9_kernel and issue 24 therein). It works fine on a Mac OSX box. But on Linux (debian), the Java shell is not starting up.

I think I tracked it down to a call like this one:

ptyprocess.PtyProcess.spawn(["/home/jupyterhub/java/jdk-9/bin/java", "-jar", "/home/jupyterhub/java/kulla/kulla.jar"])

Reading pexpect code (https://github.com/pexpect/ptyprocess/blob/master/ptyprocess/ptyprocess.py), I would expect to end up in an exec call, having the child process running python replaced by java. However, this does not happen, ps -fu shows a python child process.

I'm guessing there is some subtle difference between pty handling on linux and osx that causes the differences here?

java-9/jshell as such work from the command line.

Any help much appreciated!

Best,

Holger

网友答案:

There seems to be a change in the way that later versions of jdk-9 deal with terminals on Linux. I reverted to jdk-9.ea+100 and that seems to work.

分享给朋友:
您可能感兴趣的文章:
随机阅读: