`

Jython+Grails 出现无法导入模块的错误解决方法

阅读更多

版权所有,欢迎转载,转载请注明 : SinFrancis  http://mdev.cc 

 

使用Grails做前端,后台需要调用python,于是使用jython作为中转。

发现在WEB服务器中找不到需要的模块,比如os等,

于是使用了 sys.path.add("C:\\jython2.5.1\\Lib");将jython的模块导入进来即可,

也可以动态获得jython的配置,然后进行导入。

 

 

  PythonInterpreter interp =new PythonInterpreter();
             interp = new PythonInterpreter(null, new PySystemState());

             PySystemState sys = Py.getSystemState();
             sys.path.add("C:\\jython2.5.1\\Lib");//插入jython的类库
             interp.exec("import sys");
             interp.exec("import os");
             interp.exec("os.system('python convert.py');");

 

 

分享到:
评论
3 楼 tq04q5k 2011-02-16  
你好,我也遇到这个现象。


Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "__pyclasspath__/os$py.class", line 132, in <module>
ImportError: cannot import name curdir


我按照

PySystemState sys = Py.getSystemState(); 
           sys.path.add("C:\\jython2.5.1\\Lib");//插入jython的类库 

这个方式,仍然处上面这个问题
2 楼 sinfrancis 2010-09-02  
这个是执行python脚本,java执行命令有问题,所以使用jython做中转。
1 楼 linkerlin 2010-09-02  
为何要用Jython作中转啊?
用了Python专有的RPC?
还是别的?
如果用JSON-RPC就通用了吧?

相关推荐

    jython+jyni+cpython扩展

    Jython是一种Python的实现,它允许Python代码在Java平台上运行,而JyNI则为Jython提供了与CPython(Python的默认实现)的原生接口,使得Jython可以调用C扩展模块,进一步扩大了Jython的功能范围。 【描述】中提到的...

    jython+jyni+cpython扩展1

    Jython的出现使得Python开发者能够在Java平台上利用Java库和框架,同时也为Java开发者提供了一种用Python语言编写代码的可能性,提高了开发效率。 【JyNI】 JyNI(Jython Native Interface)是Jython的一个扩展,它...

    jythonfx:使用Jython + JavaFX轻松开发应用程序的简单技巧

    JythonFX PL:信息呐TEMAT instalacji我教程PO polsku zajdziecie ENG:使用Jython + JavaFX开发应用程序的简单技巧。 样品: 简单的单按钮应用程序(HelloJyFx.py) 简单的FXML应用程序(FXMLSample.py,FXMLSample...

    jython安装和使用方法

    这里我们执行了多条 Python 命令,包括导入 sys 模块、打印 sys 变量、设置变量 a 的值、打印变量 a 的值、计算表达式 x = 2+2 的结果,并将结果存储在 x 变量中。 使用 Jython 运行 Python 脚本 除了直接在 Java ...

    最全的Jython学习资料:来自官网(一)内置模块

    这些资源是学习 Jython 的宝贵财富,它们帮助开发者深入理解语言的特性和内置模块的使用方法,从而编写出更加高效和优雅的代码。有兴趣的读者可以通过提供的博文链接进一步学习 Jython 的知识。 综上所述,掌握 ...

    jython串口控制方法介绍

    通过阅读`jython调用串口模块.doc`文档,你可以深入了解如何在Jython中有效地使用PySerial,以及如何解决可能出现的问题。对于初学者来说,这是一个很好的起点,而对于经验丰富的开发者,它也是一个有价值的工具,...

    Burpsuite环境Jython安装方法1

    - 添加完 Jython 环境后,你可能会看到一个新的条目出现在列表中。点击旁边的齿轮图标,进行进一步的配置,如设置路径或环境变量(如果需要的话)。 4. **验证安装**: - 保存配置后,你可以尝试运行一些简单的 ...

    jython介绍1

    Jython程序的结构遵循Python的规则,包括模块、包、类和方法的定义。然而,由于运行在JVM上,Jython程序可以轻松调用Java代码,实现更复杂的逻辑和功能。 #### 八、模块与导入 Jython支持Python的模块化编程风格,...

    Jython教程

    9. **Jython与Java的互操作性**:Jython提供了`__javabridge__`模块,使Python代码能够直接调用Java方法,反之亦然,这极大地增强了两者之间的互操作性。 10. **性能优化**:虽然Jython是解释型语言,但由于其运行...

    jython中文详细教程

    同时,它也支持导入和使用Python或Java的模块,增强了代码的复用性。 4. **类与对象** Jython遵循面向对象的编程原则,可以定义类,创建实例,并实现继承、多态等特性。 **三、IBM Jython教程内容概览** 1. **...

    Jython简单配置和使用

    可以运行 Python 命令,例如导入 sys 模块,打印 sys 变量,设置变量 a 为 42,打印变量 a。 Jython 是一种强大且灵活的语言,它可以将 Python 语言和 Java 语言结合起来,提供了一个巨大的资源库。它的代码简明性...

    Jython示例

    Jython的出现使得Python开发者能够利用Java的强大功能,同时保持Python的简洁性和易读性。它不仅实现了Python标准库,还支持大部分Java类库,使Python程序员可以调用Java API,开发出高性能的应用程序。 **Jython与...

    jython简易教程

    1. 调用Java类:Jython可以直接导入Java的类和接口,如`import java.util.ArrayList`。 2. 创建Java对象:通过构造函数创建Java对象,如`list = ArrayList()`。 3. 调用Java方法:使用点号`.`来调用Java对象的方法,...

    jython学习文档

    方法接受接口名称和Jython模块路径作为参数。首先,它会缓存解释器实例,避免每次请求都重新创建,提高效率。然后,根据传入的模块路径解析出模块名,创建一个该模块下的实例。之后,利用反射机制加载Java接口,将...

    jython_installer-2.2及安装方法

    Jython是一种基于Python语法的、面向Java平台的解释器,它允许Python代码与Java类库无缝集成,使得开发者能够在Java平台上使用Python语言进行开发。"jython_installer-2.2"是Jython的一个特定版本,发布于较早的时期...

    jython-standalone-2.7.0.jar

    《Java调用Python脚本:Jython详解及...无论是进行快速原型开发,还是在现有Java系统中引入Python功能,Jython都是一个值得考虑的解决方案。了解并熟练掌握Jython,将极大地扩展你的技术栈,提升开发效率和代码质量。

    jython-standalone-2.7.0.zip

    总结来说,这个"jython-standalone-2.7.0.zip" 文件提供了一种在Burp Suite中轻松集成Python能力的方法。它让安全专家能够利用Python的灵活性和广泛库,同时受益于Burp Suite的高级功能,如HTTP请求和响应的拦截、...

    jython的用法及学习文档

    // 获取 Jython 模块名称 String tempName = pathToJythonModule.substring(pathToJythonModule.lastIndexOf("/") + 1); tempName = tempName.substring(0, tempName.indexOf(".")); String instanceName = ...

Global site tag (gtag.js) - Google Analytics