标签: jython

什么是最先进的纯Python,XML解析器?

考虑到我想编写将在Google App Engine上运行的python代码以及jython内部的C代码,C扩展不是一个选项.Amara是一个不错的库,但由于它的C扩展,我不能将它用于这些平台中的任何一个.

python xml google-app-engine jython

5
推荐指数
1
解决办法
1308
查看次数

Jython中隐藏的多线程瓶颈?

在Jython中可以阻塞多线程/并行性的一些常见隐藏事物是什么?我有一些并行代码(使用Python的线程库),它不能扩展到超过3-4个CPU,我确信这不是因为任何这些明显的陷阱:

  • 显式锁

  • 调用需要同步的库代码(我尝试并行化的算法基本上是从头开始编写的,不使用任何库.)

基本上所有的算法都是一堆字符串处理,列表和字典查找和数学.我的理解是,与CPython不同,Jython没有GIL.

python java multithreading jvm jython

5
推荐指数
1
解决办法
891
查看次数

使用Jython/IronPython/Pajamas有什么优点/缺点?

编辑

好的,菜鸟在这里请耐心等待.我想问的是以下内容:

  1. 对于Python语法粉丝来说,使用其中一个选项而其他团队成员"普通的香草"版本是否合理?这是个人偏好的问题,还是需要将其他人转换为使用这些技术?
  2. 是否可以轻松地在Jython和Java或Pajamas和Javascript之间进行转换?
  3. 另外,一般来说,人们在"现实世界"中使用这些有哪些优点/缺点?

我认为更清楚地表明我正在寻找什么.任何在行业中使用这些技术的人的意见都会非常有帮助.

提前感谢您的见解.

python ironpython jython pyjamas

5
推荐指数
1
解决办法
3192
查看次数

Jython UnsatisfiedLinkError对共享库中的本机方法调用

首先,这是正在工作的,然后我将描述什么不是:使用SWIG,我们已经采用了一些第三方代码,并创建了Java和C包装器源.创建了Java类的jar文件和C包装器代码的共享库.我们有一个Java代码库来加载共享库,并且能够根据需要调用本机代码.这是在Sun HostSpot JVM 1.5.0.14上运行的.不用担心.

现在,这不起作用:使用相同的JVM,带有Java包装器代码的jar文件和上面描述的相同共享库,我试图使用Jython来做一些脚本.CLASSPATH和LD_LIBRARY_PATH环境变量已正确设置.从Jython,我能够运行java.lang.System.loadLibrary(...),并加载共享库而不会出错.但是,当我在Jython脚本中为Java对象调用此库中的第一个本机方法时,我从JVM 获得了一个UnsatisfiedLinkError.

我在共享库上运行了nm,我发现有问题的方法存在于库中(对于JNI规范中描述的本机方法,名称为mangling).那么,问题是,什么可以阻止JVM解析方法名称?

我已经完成了JNI规范,我发现GC可以卸载一个库.在我调用方法之前会发生这种情况吗?还有什么可以导致这种失败?

java java-native-interface swig jython

5
推荐指数
1
解决办法
415
查看次数

Jython ::嵌入式PythonInterpreter是否处理Python源代码编码?

我正在使用org.python.util.PythonInterpreterJython嵌入Java应用程序中.我使用的是Jython 2.5.2版.

我解释的python脚本包含UTF-8文字,因此我根据PEP-0263在脚本顶部添加了Python源代码编码:

# -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)

我的脚本编译如下:

String script = // load from file as a single String ...
PythonInterpreter pi = new PythonInterpreter();
PyCode code = pi.compile(script);
result = pi.eval(code);
Run Code Online (Sandbox Code Playgroud)

然而,Jython抱怨以下痕迹:

 [java]     ... : encoding declaration in Unicode string
 [java]     at org.python.core.ParserFacade.prepBufReader(ParserFacade.java:277)
 [java]     at org.python.core.ParserFacade.parseExpressionOrModule(ParserFacade.java:119)
 [java]     at org.python.util.PythonInterpreter.compile(PythonInterpreter.java:259)
 [java]     at org.python.util.PythonInterpreter.compile(PythonInterpreter.java:256)
 [java]     at org.python.util.PythonInterpreter.compile(PythonInterpreter.java:250)
Run Code Online (Sandbox Code Playgroud)

Jython是否支持脚本文件中的UTF-8?

jython

5
推荐指数
0
解决办法
500
查看次数

如何在Windows 7上安装jython?

我已经下载了"jython-installer-2.7-b1.jar".我想在Windows 7上安装它.我可以遵循哪些步骤?请指导我.

jython windows-7

5
推荐指数
1
解决办法
8034
查看次数

是否可以使用独立的jython jar作为EXE创建一个python vitualenv?

我知道jython可以用作virtualenv的python解释器.简单如下:

 virtualenv -p /usr/local/bin/jython jython-env --no-site-packages
Run Code Online (Sandbox Code Playgroud)

假设我根本不想安装jython,而是使用独立的jar作为vitualenv的python解释器.这可能吗?

运用

  • Ubuntu 12.04
  • Java OpenJDK 1.6
  • Jython Standalone 2.5.3 jar

jython virtualenv

5
推荐指数
0
解决办法
597
查看次数

ODI中的Java Beanshell的Jython变量

我有total_lines一个jython命令的变量,我需要在ODI变量的刷新命令上访问它.

with open('file.txt') as file_name:
        for total_lines, line in enumerate(file_name):
            pass
        print total_lines
total_lines += 1
Run Code Online (Sandbox Code Playgroud)

为此我想到了使用<@@>将它传递给Java Beanshell变量.像这样:在jython命令中:

<@int totallines = total_lines; @>
Run Code Online (Sandbox Code Playgroud)

在刷新命令中:

select '<@=totallines@>' from dual;
Run Code Online (Sandbox Code Playgroud)

这可能吗?如何将jython变量归属为beanshell变量?我有什么选择?

干杯

jython beanshell oracle-data-integrator

5
推荐指数
1
解决办法
1634
查看次数

在Pig中更改Jython独立jar

我试图找到一种方法来替换Pig在Hadoop上使用的jython-standalone-2.5.3.jar版本.Pig 12目前使用jython-standalone-2.5.3.jar,我正在尝试使用jython 2.7 beta4.更换jython版本并确保Pig识别出更改的好方法是什么.当我尝试更换jar时,Pig仍然在路径中有旧的jython jar,我正在尝试找到可以替换它的方法.该版本包含所有必需的库.我正在使用Hadoop v2.

hadoop jython apache-pig jython-2.7

5
推荐指数
0
解决办法
159
查看次数

如何从Android中的Java代码执行Python脚本

我正在尝试使一个标准的Android应用程序执行一个可以将值返回给Java的python脚本,但我面临很多问题.

Jython在Android环境中不支持这一点,SL4A是一个死机项目,Kivi似乎是完全没有使用Java的完整堆栈框架,而QPython是适用于Android 5+但几乎没有文档的SL4A.

我想要的东西:

// From INSIDE my Java Code
new PythonEngine().execute('a = 1 + 1').getInt('a')
Run Code Online (Sandbox Code Playgroud)

使用QPython,我找到了一个执行任意代码的示例,但我无法想象如何获得结果以及如何在不打开等待用户输入返回的新活动的情况下运行脚本.

那可能吗?这个例子可以在这里找到QPython Java Sample

android jython sl4a kivy qpython

5
推荐指数
1
解决办法
1443
查看次数