zoukankan      html  css  js  c++  java
  • IDEA中通过Java调用Python脚本报错

    现象描述

    我在IDEA中调试一段Java调用Python的代码,一直报下面的错误。

    我的代码:

    public class ScriptTest {
    
        public static void main(String[] args) {
            String result = "";
    
            try {
                Process process = Runtime.getRuntime().exec("python D:/xxl/my.py  test中文" );
                InputStreamReader ir = new InputStreamReader(process.getInputStream(),"GBK");
                LineNumberReader input = new LineNumberReader(ir);
                result = input.readLine();
                input.close();
                ir.close();
    //            process.waitFor();
            } catch (Exception e) {
                System.out.println("调用python脚本并读取结果时出错:" + e.getMessage());
            }
            System.out.println(result);
        }
    }
    

    my.py的内容非常简单,如下:

    import sys
     
    if __name__ == "__main__":
        filename = sys.argv[1]
         
        print (filename)
    

    当我执行上面的代码时,一直报下面的错误:

    Connected to the target VM, address: '127.0.0.1:25684', transport: 'socket'
    调用python脚本并读取结果时出错:Cannot run program "python": CreateProcess error=2, 系统找不到指定的文件。
    

    查了下这个错误,是因为找不到Python这个命令。

    但是我通过命令行执行python是可以的,一时间感觉很疑惑。

    image-20210728150816398

    解决方案

    查了下,在IDAE中使用运行命令,其实是不能使用系统设置的环境变量的。需要在IDEA中另外设置。

    image-20210728151016006

    image-20210728151117749

    设置完之后再执行就OK了。

    人生的主旋律其实是苦难,快乐才是稀缺资源。在困难中寻找快乐,才显得珍贵~
  • 相关阅读:
    浅析Java中的final关键字
    Eclipse导入到web项目没有run on server
    解决web项目无法部署到eclipse配置的本地tomcat
    Eclipse 导入外部项目无法识别为web项目并且无法在部署到tomcat下
    JAVA – 虚函数、抽象函数、抽象类、接口
    jsp分页
    连接数据库查询数据
    (转)解决emacs中切换输入法冲突
    sqoop的使用
    hive的使用03
  • 原文地址:https://www.cnblogs.com/54chensongxia/p/15070614.html
Copyright © 2011-2022 走看看