gpt4 book ai didi

java - IDE 内部的 Jython 正常,IDE 外部, "no os specific module found"?

转载 作者:搜寻专家 更新时间:2023-11-01 03:37:05 24 4
gpt4 key购买 nike

我已经让 Jython 解释器工作了。但是当从 java 1.7u45 更改为 java 8 时,它只在 IDE 中运行。

我的项目使用Jython2.5.3。所有标准 python 模块都打包成一个 zip 文件并放在 java 类路径中。

现在 Jython 无法找到“os”报告:

Traceback (most recent call last):
File "a.py", line 36, in <module>
import b.c as c
File "c.py", line 1, in <module>
import os
File "__pyclasspath__/os.py", line 132, in <module>
ImportError: no os specific module found

我使用 JVisualVM 比较了从命令文件启动我的应用程序和从 IDE 启动我的应用程序的 VM 设置。没有明显的差异。
我还更改了命令文件以使用 JDK1.8.0(作为 netbeans 启动)而不是 JRE1.8.0
我还更改了命令文件以运行 IDE 生成的 .class 文件,而不是生产 jar。
我还在命令文件版本中添加了“-XDebug”以匹配 IDE 设置
使用 VisualVM 检查时:
= JVM 完全一样,
= JVM 参数完全相同(除 Netbeans 具有“Xrunjdwp”外相同)
= 系统属性几乎相同:

  • 'java.library.path' 是相同的
  • “java.class.path”中的 jar 是相同的,尽管这些 jar 具有不同的路径。
  • 但是命令文件版本中缺少 python.console.encoding=cp437(IDE 是如何引入这个的?)
  • user.dir 不同

我不知道接下来要做什么/检查。希望有人有想法。谢谢

更新
似乎 Jython 内部变量 'sys.builtin_module_names' 是一个集合,每个场景的内容都不同。在 IDE 之外,缺少“nt”和“jffi”。os.py 引发异常“ImportError:未找到操作系统特定模块”。如果该集合不包含任何

  • 正态
  • os2
  • 里斯科斯
  • IBM

更新 2
找到了.. 原来 Jython2.5.1 与 Jython2.5.3 的一个 zip 模块混合

最佳答案

原来 Jython2.5.1 解释器与 Jython2.5.3 的 zip-of-the-standard-modules 混合了

我之前混淆了解释器版本和 zip-of-standard-modules,但这次解释器有次要版本,我没有看到。

关于java - IDE 内部的 Jython 正常,IDE 外部, "no os specific module found"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27965630/

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