2012-03-15 98 views
7

我正在研究一个框架,其中一部分需要Jython。我只是使用MatPlotLib添加了一些绘图,但没有意识到MatPlotLib与Jython不兼容。由于这两部分相当孤立,我会很好地运行Python中的大部分程序并向Jython部分传递少量信息(反之亦然),所以我想知道是否有一种简单的方法可以做到这一点,而保持框架的模块化特性。想法?从Python调用Jython(或反之亦然)

+0

我在想execnet可能不是一个不错的选择。思考? – Eli 2012-03-15 22:00:13

回答

11

我没有使用execnet任何严重的,但它似乎很有可能,这是一个很好的选择。 execnet是一个用于跨版本,平台和网络障碍进行分布式执行的Python库。

这不难开始。这个简单的Jython脚本(调用NumPy的)工作对我来说没有任何困难:

import execnet 

gw = execnet.makegateway("popen//python=python") 
channel = gw.remote_exec(""" 
    from numpy import * 
    a = array([2,3,4]) 
    channel.send(a.size) 
""") 

for item in channel: 
    print item 

输出:

3 

即去的方向是相反的文档includes an example(一CPython的解释器连接到Jython解释)。

0

没有用MatPlotLib与execnet ...

但是......

对于一个快速试模与execnet(在Win32平台),可以使用PortablePython2.7.2.1

PortablePython包含MatPlotLib并很容易安装(和删除)