Jython 内部 IDE 好,外部 IDE、"no os specific module found"?
Jython inside IDE ok, outside IDE, "no os specific module found"?
我已经让 Jython 解释器工作了。但是当从 java 1.7u45 更改为 java 8 时,IDE 中只有 运行s。
我的项目使用Jython2.5.3。所有标准 python 模块都打包成一个 zip 文件并放在 java class 路径中。
现在 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' 上的罐子是相同的,尽管罐子有不同的路径。
- 但是命令文件版本中缺少python.console.encoding=cp437(IDE如何介绍这个?)
- user.dir不同
我不知道 do/check 接下来要做什么。希望有人有想法。谢谢
更新
好像Jython内部变量'sys.builtin_module_names'是一个集合,每个场景的内容不同。
在 IDE 之外,缺少 'nt' 和 'jffi'。
os.py 引发异常 "ImportError: no os specific module found"。
如果该集合不包含任何
- posix
- nt
- os2
- ce
- 里斯科斯
- ibmi
更新 2
找到了.. 原来 Jython2.5.1 与 Jython2.5.3
的一个 zip 模块混合在一起
原来 Jython2.5.1 解释器与 Jython2.5.3 的 zip-of-the-standard-modules 混合在一起
我之前混淆了解释器版本和标准模块的 zip-of-standard-modules,但这次解释器有次要版本,我没有看到。
我已经让 Jython 解释器工作了。但是当从 java 1.7u45 更改为 java 8 时,IDE 中只有 运行s。
我的项目使用Jython2.5.3。所有标准 python 模块都打包成一个 zip 文件并放在 java class 路径中。
现在 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' 上的罐子是相同的,尽管罐子有不同的路径。
- 但是命令文件版本中缺少python.console.encoding=cp437(IDE如何介绍这个?)
- user.dir不同
我不知道 do/check 接下来要做什么。希望有人有想法。谢谢
更新
好像Jython内部变量'sys.builtin_module_names'是一个集合,每个场景的内容不同。
在 IDE 之外,缺少 'nt' 和 'jffi'。
os.py 引发异常 "ImportError: no os specific module found"。
如果该集合不包含任何
- posix
- nt
- os2
- ce
- 里斯科斯
- ibmi
更新 2
找到了.. 原来 Jython2.5.1 与 Jython2.5.3
原来 Jython2.5.1 解释器与 Jython2.5.3 的 zip-of-the-standard-modules 混合在一起
我之前混淆了解释器版本和标准模块的 zip-of-standard-modules,但这次解释器有次要版本,我没有看到。