如何让Python使用64位Java?

1 投票
1 回答
2583 浏览
提问于 2025-04-18 06:36

在Windows的命令行中,如果我输入 java -version,我会得到

java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

而输入 python -v

#snip
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32

在Python中,如果我使用

call("java -version")

我会得到

java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode, sharing)

有没有办法让我Python强制使用64位的Java虚拟机(JVM)呢?

1 个回答

1

当你在Windows的命令行中输入 java -version 时,系统会查看 PATH 环境变量来找到 java 的可执行文件。

你提到的 subprocess.call 似乎在你的Windows环境中没有使用同样的 PATH 变量。也许如果你强制它启动一个命令行窗口(虽然根据文档,这样做并不安全),它就能正常工作了。

call("java -version", shell=True)

如果你安装了多个Java版本(比如64位和32位的JRE),最简单的解决办法就是直接写出你64位Java可执行文件的绝对路径。

call("C:\\Program Files\\Java\\jre7\\bin\\java -version")

撰写回答