【问题标题】:different java version between java_home and popenjava_home 和 popen 之间的不同 java 版本
【发布时间】:2015-10-24 16:52:15
【问题描述】:

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

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

java版本“1.7.0” Java(TM) SE 运行时环境(构建 pwi3270sr8fp10-20141219_01(SR8 FP10)) IBM J9 VM(内部版本 2.6,JRE 1.7.0 Windows 7 x86-32 20141216_227497(启用 JIT,启用 AOT) 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 基于 Oracle jdk7u75-b12

os.system("java -version")

java 版本“1.8.0_40” Java(TM) SE 运行时环境 (build 1.8.0_40-b26) Java HotSpot(TM) 64 位服务器 VM(内部版本 25.40-b25,混合模式)

为什么在我的 python IDE (PyCharm) 中得到不同的 java 版本?怎么改?

【问题讨论】:

    标签: java python pycharm


    【解决方案1】:

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

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

    免责声明:未对此进行测试。

    【讨论】:

    • 我在 $PATH 和 $JAVA_HOME 中有 C:\Program Files\Java\jdk1.8.0_40\bin\java.exe ,我不会在任何地方更改它。
    猜你喜欢
    • 2022-08-16
    • 2015-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2015-02-11
    • 2015-04-21
    相关资源
    最近更新 更多