如何从java执行python虚拟环境中安装的python工具

mqkwyuun  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(360)

我想从java源代码运行安装在python虚拟环境中的python工具。我可以为此使用哪些java库?
我已经尝试了以下代码: Runtime.getRuntime().exec("/Users//Documents/venv/bin/python3.7 yyy); 但是这个代码不起作用。运行python脚本(例如。, yyy= script.py )从虚拟环境( venv ). 因此,它给我一个错误,说没有文件调用 yyy . 但我的要求是运行安装在虚拟环境中的python工具 venv .

ef1yzkbh

ef1yzkbh1#

你的要求可能需要一点澄清,但我想你可以通过 ProcessBuilder . 使用 directory(File) 控制命令的工作目录。以及 inheritIO() 使stdio“自动”工作。从不硬编码用户的主文件夹。你可以用 System.getProperty(String) 检索主文件夹。

ProcessBuilder pb = new ProcessBuilder();
pb.directory(new File(System.getProperty("user.home"), "Documents/venv/"));
pb.inheritIO();
try {
    Process p = pb.command("bin/python3.7",
            "lib/python3.7/site-packages/yyy").start();
    p.waitFor();
} catch (Exception e) {
    e.printStackTrace();
}

最好用 System.getenv(String) 而不是依靠 "Documents/venv" 包含pyvenv根。

相关问题