我正在尝试使用 Process 和 ProcessBuilder 从 Java 程序运行 Python 脚本,但是 Java 一直在使用错误版本的 Python。 (脚本需要3.6.3运行,Java运行Python 2.7)
然而,当我从终端(Java 之外)运行脚本时,它运行正确的 Python (3.6.3)。如何改变 Java 调用时运行的 Python 版本?
最佳答案
简短的版本是它随您的 PATH
环境变量而变化。
在 Windows 下,Technet有答案。向下滚动到“命令搜索序列”部分。 This answer解释得很好。
对于类 UNIX 操作系统,this answer非常详细。
有两个非常有用的命令可用于确定将调用哪个可执行文件:which
类 UNIX 和 where
适用于较新的 Windows。
造成 Java 和终端之间差异的最可能原因是您的 PATH
不同。也许您的 Java 版本正在使用修改后的 PATH
运行?某种启动脚本可能会改变它。
关于Java调用错误的python版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51813909/