首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从Java执行安装在Python虚拟环境中的Python工具

如何从Java执行安装在Python虚拟环境中的Python工具
EN

Stack Overflow用户
提问于 2020-09-03 11:39:08
回答 1查看 268关注 0票数 2

我想从Java源代码运行安装在Python虚拟环境中的python工具。我可以使用哪些可能的Java库来实现此目的?

我已经尝试过下面的代码:Runtime.getRuntime().exec("/Users/xxx/Documents/venv/bin/python3.7 yyy);

但是这个代码不起作用。它是从虚拟环境(venv)运行Python脚本(例如,yyy= script.py)。因此,它会给我一个错误,告诉我没有名为yyy的文件。但我的要求是运行安装在虚拟环境venv中的Python工具。

EN

回答 1

Stack Overflow用户

发布于 2020-09-03 11:57:24

您的需求可能需要一点说明,但我怀疑您可以使用ProcessBuilder使其工作。使用directory(File)控制命令的工作目录。和inheritIO(),让stdio“自动”工作。永远不要硬编码用户的主文件夹。您可以使用System.getProperty(String)检索主文件夹。

代码语言:javascript
代码运行次数:0
运行
复制
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();
}

与依赖"Documents/venv"来包含pyvenv根目录相比,使用System.getenv(String)可能更好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63716451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档