pycocoevalcap meteor.py 报错 [Errno 2] No such file or directory ‘java’解决办法

首先检查系统是否安装java。

java -version

如果未安装java,则可以参考https://blog.csdn.net/kdongyi/article/details/107002068

安装java。手动安装可以用清华的镜像https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/,选择对应版本的jdk或者jre之一即可,在注意设置环境变量。安装完成后再次使用

java -version

检查。

我遇到的问题在于,正确安装java后仍会报错 [Errno 2] No such file or directory ‘java’,而在命令行中运行命令

java -jar -Xmx2G meteor-1.5.jar - - -stdio -l en -norm -a data/paraphrase-en.gz

却不报错。参考https://blog.csdn.net/qq_41183751/article/details/121065700,在

subprocess.Popen

调用时加上shell=True,即

subprocess.Popen(meteor_cmd, \
        cwd=os.path.dirname(os.path.abspath('.')), \
        stdin=subprocess.PIPE, \
        stdout=subprocess.PIPE, \
        stderr=subprocess.PIPE, bufsize=1, universal_newlines=True)

但可能报错 BrokenPipeError: [Errno 32] Broken pipe

最终解决办法:不使用shell=True,修改命令list,指定java路径,即

meteor_cmd = ['$你的java安装目录$/bin/java', '-jar', '-Xmx2G', METEOR_JAR, \
        '-', '-', '-stdio', '-l', 'en', '-norm','-a', 'data/paraphrase-en.gz']

可以完美解决问题。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值