我怎么能告诉python使用64位java?

时间:2014-05-14 22:22:22

标签: java python 64-bit 32-bit

在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位JVM?

1 个答案:

答案 0 :(得分:1)

当您在Windows命令行中调用java -version时,它将查询PATH环境变量以找到java可执行文件。

subprocess.call我认为你在那里使用似乎在你的情况下在Windows上没有使用相同的Windows PATH变量。也许如果你强制它产生一个shell(根据文档不被认为是安全的)它可以工作。

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

如果你有多个Java安装(即64位和32位JRE),最简单的解决方案是硬编码java 64位可执行文件的绝对路径

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