gpt4 book ai didi

java - java_home 和 popen 之间的 java 版本不同

转载 作者:行者123 更新时间:2023-12-01 11:16:29 25 4
gpt4 key购买 nike

在 python IDE 中,我运行这两个代码片段并获得 java 版本的不同输出:

stdout,stderr = Popen(['java','-version'], shell=False,   stderr=PIPE).communicate()
print(stderr)

java version "1.7.0" Java(TM) SE Runtime Environment (build pwi3270sr8fp10-20141219_01(SR8 FP10)) IBM J9 VM (build 2.6, JRE 1.7.0 Windows 7 x86-32 20141216_227497 (JIT enabled, AOT enabled) J9VM - R26_Java726_SR8_20141216_0955_B227497 JIT - r11.b07_20141003_74578.05 GC - R26_Java726_SR8_20141216_0955_B227497 J9CL - 20141216_227497) JCL - 20141217_01 based on Oracle jdk7u75-b12

os.system("java -version")

java version "1.8.0_40" Java(TM) SE Runtime Environment (build 1.8.0_40-b26) Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

为什么我的 python IDE (PyCharm) 中会得到不同的 java 版本?我该如何更改它?

最佳答案

我认为这是因为os.system()使用 shell(因此将拾取 .bashrc/.profile 等中的任何更改...您是否在 $PATH/$JAVA_HOME 中的任何一个中设置不同的 Java 位置?

我相信Popen不会调用 shell(除非您设置 shell=true )。

免责声明:未经测试。

关于java - java_home 和 popen 之间的 java 版本不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31772770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com