标签: jython

编辑中的Jython支持?

我最近开始在The Grinder 3中编写一些性能测试,我注意到的第一件事就是PyCheckMate不起作用,因为它无法找到一些导入.哪些编辑器为Jython提供了最好的支持?

jython editor

6
推荐指数
2
解决办法
2068
查看次数

如何加速这个Python代码?

我有一个以下微小的Python方法,它是迄今为止性能热点(根据我的分析器,在这里花费了大约95%的执行时间)在一个更大的程序中:

def topScore(self, seq):
    ret = -1e9999
    logProbs = self.logProbs  # save indirection
    l = len(logProbs)
    for i in xrange(len(seq) - l + 1):
        score = 0.0
        for j in xrange(l):
            score += logProbs[j][seq[j + i]]
        ret = max(ret, score)

    return ret
Run Code Online (Sandbox Code Playgroud)

代码是在Python的Jython实现中运行,而不是CPython,如果这很重要的话. seq是一个DNA序列串,大约有1,000个元素. logProbs是一个词典列表,每个位置一个.目标是找到任何长度l(大约10-20个元素)的子序列的最大分数seq.

我意识到所有这些循环由于解释开销而效率低下,并且在静态编译/ JIT语言中会更快.但是,我不愿意切换语言.首先,我需要一个JVM语言用于我正在使用的库,这种约束我的选择.其次,我不想将此代码批量转换为较低级别的JVM语言.但是,如果有必要,我愿意用其他东西重写这个热点,虽然我不知道如何连接它或者开销是多少.

除了这种方法的单线程缓慢之外,我还无法让程序在并行化方面超过4个CPU.鉴于它几乎所有的时间都花在我发布的10行热点上,我无法弄清楚这里的瓶颈是什么.

python java performance jvm jython

6
推荐指数
1
解决办法
473
查看次数

Jython是否支持Tkinter

Jython是否支持Tkinter?如果我用Python编写程序并使用Tkinter将GUI前端放在其上,那么在Jython中执行相同的程序有多难?或者是否有更好的Jython GUI解决方案?

当我尝试java -jar"jarname"它显示错误为:import Tkinter,tkFileDialog,tkMessageBox,tempfile,shutil ImportError:没有名为Tkinter的模块

我怎么能解决这个............提前谢谢..... :)

jython tkinter

6
推荐指数
1
解决办法
1833
查看次数

在Java中使用Python脚本(Eclipse)

我一直在寻找将我为朋友制作的Python脚本合并到我正在尝试开发的Java应用程序中.经过一些试验和错误,我终于发现了'Jython',并使用PythonInterpreter尝试运行脚本.

但是,在尝试运行它时,我在Python脚本中收到错误.这很奇怪,因为当我尝试在Java之外运行脚本(在这种情况下是Eclipse IDE)时,脚本工作正常并完全符合我的需要(从存储在同一目录中的.docx文件中提取所有图像).

有人可以帮帮我吗?

Java的:

import org.python.core.PyException;
import org.python.util.PythonInterpreter;

public class SPImageExtractor
{
    public static void main(String[] args) throws PyException
    {   
        try
        {
            PythonInterpreter.initialize(System.getProperties(), System.getProperties(), new String[0]);
            PythonInterpreter interp = new PythonInterpreter();
            interp.execfile("C:/Documents and Settings/user/workspace/Intern Project/Proposals/Converted Proposals/Image-Extractor2.py");
        }
        catch(Exception e)
        {
            System.out.println(e.toString());
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

关于Python脚本的Java错误:

回溯(最近一次调用最后一次):
文件"C:/ Documents and Settings/user/workspace/Intern Project/Proposals/Converted Proposals/Image-Extractor2.py",第19行,在thisDir中,_ = path.split(路径. abspath(argv [0]))IndexError:索引超出范围:0回溯(最近一次调用最后一次):
文件"C:/ Documents and Settings/user/workspace/Intern Project/Proposals/Converted Proposals/Image-Extractor2.py ",第19行,在thisDir中,_ = path.split(path.abspath(argv [0]))IndexError:index超出范围:0


蟒蛇:

from os import path, chdir, listdir, mkdir, gcwd
from sys import …
Run Code Online (Sandbox Code Playgroud)

python java eclipse interpreter jython

6
推荐指数
1
解决办法
3163
查看次数

错误:输入'for'Python时没有可行的替代方案

我有奇怪的问题,

当我使用Netbeans IDE时,这一行:

total_stock = {items : 0 for items in product_stock}
Run Code Online (Sandbox Code Playgroud)

导致语法错误:

语法错误:输入'for'没有可行的替代方法

但是相同的代码在终端中运行得非常好并且返回它

>> {'rom_price': 0, 'rim_price': 0, 'ram_price': 0}
Run Code Online (Sandbox Code Playgroud)

我在终端使用python 2.7+和python插件版本:0.107和Jython插件版本:2.12来源:Python for netbeans 8.0

如何解决这个问题呢??

python netbeans jython python-2.7

6
推荐指数
1
解决办法
4318
查看次数

猪:是否有可能将pytz或dateutils用于Python udfs?

datetime在我的pig脚本中使用的一些Python udfs中使用.到现在为止还挺好.我在Cloudera 5.5上使用了猪12.0

但是,我也需要使用pytz或者dateutil包,它们似乎不是一个vanilla python安装的一部分.

我可以Pig在某些方面在我的udfs中使用它们吗?如果是这样,怎么样?我认为dateutil是安装在我的节点上(我不是管理员,所以我怎么能实际检查是这种情况?),但是当我输入时:

import sys
#I append the path to dateutil on my local windows machine. Is that correct?
sys.path.append('C:/Users/me/AppData/Local/Continuum/Anaconda2/lib/site-packages')

from dateutil import tz
Run Code Online (Sandbox Code Playgroud)

在我的udfs.py剧本中,我得到:

2016-08-30 09:56:06,572 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1121: Python Error. Traceback (most recent call last):
  File "udfs.py", line 23, in <module>
    from dateutil import tz
ImportError: No module named dateutil
Run Code Online (Sandbox Code Playgroud)

当我运行我的猪脚本.

我所有的其他python udfs(datetime例如使用)工作得很好.知道怎么解决这个问题吗?

非常感谢!

UPDATE

在用python路径玩了一下后,我现在能够 …

python jython apache-pig pytz cloudera

6
推荐指数
1
解决办法
408
查看次数

<urlopen错误(-1,'SSL异常:在wiki上解释了cpython与jython的SSL套接字行为之间的差异

我正在使用以下代码.

import urllib2

#Setting proxy
myProxy = {'https':'https://proxy.example.com:8080'}
proxy = urllib2.ProxyHandler(myProxy)
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)

#Access URL
auth_token = "realLy_loNg_AuTheNicaTion_toKen"
headers={"Content-Type":"application/json",
         "charset": "UTF-8",
         "Authorization": "Bearer %s" %auth_token}
url = "https://example.com/something"
req = urllib2.Request(url, None, headers)
reply = urllib2.urlopen(req)
print reply.getcode()
Run Code Online (Sandbox Code Playgroud)

我在nGrinder中运行上面的Jython脚本.当我使用Jython在我的系统上运行相同的脚本时,它工作正常并返回200(OK状态代码).当我在nGrinder上运行它时,我收到错误

(-1, 'SSL exception: Differences between the SSL socket behaviour of cpython vs. jython are explained on the wiki:  http://wiki.python.org/jython/NewSocketModule#SSL_Support')
Run Code Online (Sandbox Code Playgroud)

任何想法为什么会这样?

编辑:我一直在尝试,问题肯定与长身份验证令牌.我觉得这可能是一些编码问题.有发布一个类似的问题在这里了.我看了它,但没有正确描述.但它可能是一个很好的参考思考.

python ssl jython

6
推荐指数
1
解决办法
554
查看次数

在 Python 中,如何测试解释器是否正在运行 Pyston、Jython、CPython?

如果解释器正在运行 pyston、jython、ironpython、pypy 等,我想从正在运行的 Python 程序内部进行测试。

想到的事情是模式匹配system.version和检查来自 的幻数imp.get_magic()但是这两者似乎都有些脆弱和笨拙。还有其他建议吗?

编辑: user2357112 再次通过。

我尝试在我安装的每个 Python 版本上运行以下代码,这区分了 Jython、Pyston 和各种 CPython。它失败的地方是 2.6 之前的 Python,以及 CPython 的 anaconda 变体。对于 anaconda 来说,这可能是正确的。

这是程序和结果。请随意注意这对哪些其他类型的 Python 有效或无效。

import platform
print(platform.python_implementation())
Run Code Online (Sandbox Code Playgroud)

和shell脚本:

for v in $(pyenv versions); do # not quite right
    pyenv local $v
    echo "version is $v"
    python /tmp/foo.py
    echo "==================="
done
Run Code Online (Sandbox Code Playgroud)

我得到了这个输出:

===================
version is 2.1.3
Traceback (most recent call last):
  File "/tmp/foo.py", line 1, in ?
    import platform
ImportError: No module named …
Run Code Online (Sandbox Code Playgroud)

python pypy jython anaconda

6
推荐指数
1
解决办法
490
查看次数

如何创建封装 Python 代码的类似节点的 GUI(如 Simulink)?

我想要的是

我想用 Python 创建一个 GUI,它允许封装 Python 代码/对象/函数的节点链接交互。以下示例是我想要实现的功能类型。

  • Blender 节点接口。

    在此输入图像描述

  • MATLAB Simulink 框图。

    在此输入图像描述

我发现了什么

我的具体问题

是否有任何软件包允许我创建具有此功能的界面,或者我需要使用 Jython 吗?我准备了解这是否能达到最佳结果。

python user-interface jython

6
推荐指数
0
解决办法
1774
查看次数

在 Maximo/Jython 中下载 SetupTools 失败,并显示 HTTP 错误 403 SSL is required

The Definitive Guide to Jython 的附录 A 描述了下载 SetupTools 以与 Jython 一起使用。

https://jython.readthedocs.io/en/latest/appendixA/

这向我表明应该可以从 Maximo 的 Jython 自动化脚本中下载和使用 SetupTools(在我的例子中是 v7.6)。这本书将我们指向以下 URL 以复制将执行此操作的 Jython 脚本:

http://peak.telecommunity.com/dist/ez_setup.py

我在上面的脚本中添加一行来调用函数“use_setuptools”:

use_setuptools()
Run Code Online (Sandbox Code Playgroud)

然后我在 Maximo 应用程序上创建一个按钮并将上述脚本与按钮按下相关联,我收到以下错误:

系统消息 BMXAA7837E - 发生错误,导致 EZ_SETUP 启动点的 EZ_SETUP 脚本无法运行。urllib2.HTTPError: HTTP 错误 403: SSL is required in at line number 280

堆栈跟踪指向由“use_setuptools”调用的函数“download_setuptools”中的以下行:

src = urllib2.urlopen(url)
Run Code Online (Sandbox Code Playgroud)

这似乎是因为请求的 url,在我的情况下:

http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.5.egg

...在到达以下网址之前重定向了几次:

https://files.pythonhosted.org/packages/98/d3/ed3bc7e3f4b143092862dab99d984261ac4be6a40d4fb1e66d2a10e9ea99/setuptools-0.6c11-py2.5.egg

请注意,该 url 使用 HTTPS 而不是 HTTP。以下说明了为什么会这样:

https://sourceforge.net/p/pypi/support-requests/300/

Maximo 包含的 jython.jar 不包含 ssl 模块,因此我们可以:

  1. 手动下载 ssl 模块并将其复制到服务器上的正确位置。
  2. 通过 HTTPS 手动下载适当的 egg 文件并将其复制到服务器上的正确位置。
  3. 通过为我们正在寻找的文件创建一个镜像来绕过这个问题,该文件可通过 …

ssl jython maximo websphere-8

6
推荐指数
1
解决办法
247
查看次数