Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java python子进程调用ubuntu 14.04_Java_Python 2.7_Nlp_Ubuntu 14.04 - Fatal编程技术网

Java python子进程调用ubuntu 14.04

Java python子进程调用ubuntu 14.04,java,python-2.7,nlp,ubuntu-14.04,Java,Python 2.7,Nlp,Ubuntu 14.04,我试图在ubuntu 14.04()中运行alt话语分析器树 所有内容都已成功编译,但在运行时显示以下错误 文件“/usr/lib/python2.7/subprocess.py”,第540行,在check_调用中 引发被调用的进程错误(retcode,cmd) subprocess.CalledProcessError:Command'['java','-classpath','Tools/grmm/class:Tools/grmm/lib/mallet deps.jar:Tools/grmm

我试图在ubuntu 14.04()中运行alt话语分析器树

所有内容都已成功编译,但在运行时显示以下错误

文件“/usr/lib/python2.7/subprocess.py”,第540行,在check_调用中 引发被调用的进程错误(retcode,cmd) subprocess.CalledProcessError:Command'['java','-classpath','Tools/grmm/class:Tools/grmm/lib/mallet deps.jar:Tools/grmm/lib/grmm deps.jar','edu.umass.cs.mallet.grmm.learning.acrfortestjoty','testing','tmp_sen.feat','-模型文件','dcrf sen.gz']返回非零退出状态1


我只想知道这个错误意味着什么,以及错误中显示的命令和参数。所有必要的jar文件都存在于各自的位置。

正如@MarkB在他的评论中提到的,这实际上不是一条Python错误消息,而是Python简单地解释了它运行什么命令来执行Java程序,以及它的返回值,以及在执行过程中出错

此消息显示Java程序返回的值为1。通常,程序以非零状态退出意味着出现了问题。您需要查找此应用程序的值1的含义(如果有)

要逐条解释错误消息,请执行以下操作:

文件“/usr/lib/python2.7/subprocess.py”,第540行,在check_call raise CalledProcessError(retcode,cmd)subprocess中

Python运行了进程“subprocess”,在第540行抛出了一个错误(这与此无关,因为它只是Python内部的东西)。这是被调用的Java进程抛出的错误,不是内部Python的东西

调用的进程错误:命令'['java','-classpath','Tools/grmm/class:Tools/grmm/lib/mallet deps.jar:Tools/grmm/lib/grmm deps.jar','edu.umass.cs.mallet.grmm.learning.acrfortestjoty','-testing','tmp_sen feat','-model file','dcrf.sen.gz']

抛出的错误类型为,这意味着被调用的进程没有返回零,它显示了用于启动外部[Java]应用程序的命令。该命令只是
java
,选项和参数如下(按顺序)

  • '-classpath',Tools/grmm/class:Tools/grmm/lib/mallet deps.jar:Tools/grmm/lib/grmm deps.jar'
    使用冒号(:)分隔的3条路径覆盖此JVM会话的默认类路径环境变量
  • edu.umass.cs.mallet.grmm.learning.acrfortestjoty
    这是一个包含main方法并将被调用的类
  • ——测试“tmp_sen.feat”
    是传递给Java程序中main方法的自定义参数
  • '--model file',dcrf.sen.gz'
    是传递给Java程序中main方法的另一个自定义参数
最后,这一行

返回非零退出状态1

是Java程序的返回值。这给了您一个提示,它没有以0(成功)退出,而是遇到了某种错误代码为1的问题。如果Java程序以不同的错误代码退出,这可能意味着什么,也可能仅仅意味着它以一般问题退出,但它可能是任何东西


长话短说:您需要确保将正确的值传递给Java程序。如果这是您自己的Java程序,那么我建议您调试它。如果没有,您应该使用相同的参数直接运行它(不使用Python):
--测试tmp_sen.feat
&
--模型文件dcrf.sen.gz
,以确定这些参数本身是否存在问题。希望通过这种方式,您可以更清楚地了解Java程序中的错误。

这不是python的问题。您的外部java应用程序失败了,python正在告诉您。感谢您的快速回复。我已经更正了。但是现在我遇到了另一个涉及perl子进程的类似问题。请帮我解决这个问题。。文件“/home/prasenjit/Desktop/Shared/nlp/discussion\u Parser\u Dist/TopicFeatures.py”,第31行,在ComputeExchains子进程中。检查输出(['perl',lex_ch,chfile_in,chfile_out])文件“/usr/lib/python2.7/subprocess.py”,第573行,在检查输出中引发被调用进程错误(retcode,cmd,output=output)子进程。被调用进程错误:命令'['perl','lexschain.pl','tmp.chuin','tmp.chn']'返回非零退出状态2@Prasenjitdey我很乐意。如果回答了您最初的问题,请接受这个答案。因此,规则规定单独的问题应该单独发布,但本质上这是完全相同的问题。python端的一切都很好,但Perl程序出错,导致返回值为2。I由于我不熟悉Perl,所以无法对这个问题提供更多详细的帮助。您应该了解2的返回错误代表什么,以弄清它的本质。