如何解决如何从Java执行安装在Python虚拟环境中的Python工具
我想从Java源代码运行安装在python虚拟环境中的Python工具。我可以为此目的使用哪些Java库?
我已经尝试过以下代码:
Runtime.getRuntime().exec("/Users/xxx/Documents/venv/bin/python3.7 yyy);
但是此代码不起作用。它是要从虚拟环境(yyy= script.py
)运行Python脚本(例如venv
)。因此,这给我一个错误,指出没有名为yyy
的文件。但是我的要求是运行安装在虚拟环境venv
中的Python工具。
解决方法
您的要求可能需要一些澄清,但是我怀疑您可以使其与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根。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。