Jython-standalone 2.7.2:-ImportError: 在 <script> 中没有名为 os 的模块在第 1 行

问题描述

我正在尝试将 python 脚本作为用户的输入并执行它。我使用 maven 作为项目经理。

<dependency>
            <groupId>org.python</groupId>
            <artifactId>jython-standalone</artifactId>
            <version>2.7.2</version>
            <scope>provided</scope>
</dependency>

以下是 jython 包的结构:

Jython package structure

我已经从 jython 转移到 jython-standalone 包,正如在类似问题的多个答案中所建议的那样。即使在尝试运行一个简单的 python 脚本时,我也不断收到错误消息:

import os
import uuid
import sys
# from subprocess import Popen,PIPE
import subprocess

def process(item,interceptor):
    logger.info("Starting subprocess...")
javax.script.ScriptException: ImportError: No module named os in <script> at line number 1
    at 

我无法理解问题以及如何解决

解决方法

也许您需要创建一个封装 jython 独立 jar 的 OSGi 包? (例如:https://karaf.apache.org/manual/latest-2.x/developers-guide/creating-bundles.html