在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吗?
发布于 2014-05-14 22:58:02
当您在windows命令行中调用java -version时,它将参考PATH环境变量来定位java可执行文件。
我假设您在那里使用的subprocess.call似乎没有在windows上使用相同的PATH变量。也许,如果您强制它生成一个shell (根据docu,这被认为是不安全的),那么它就会工作。
call("java -version", shell=True)如果您有多个Java安装(即64位和32位JRE),最简单的解决方案是硬编码到java 64位可执行文件的绝对路径。
call("C:\\Program Files\\Java\\jre7\\bin\\java -version")https://stackoverflow.com/questions/23666168
复制相似问题