如何让Python使用64位Java?
在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")