2012-03-15 6 views
7

Attualmente sto lavorando su un framework, parte del quale richiede Jython. Ho appena aggiunto alcuni grafici su di esso usando MatPlotLib, senza rendermi conto che MatPlotLib è incompatibile con Jython. Dal momento che queste due parti sono piuttosto isolate, e mi piacerebbe eseguire la maggior parte del programma in Python e passare una piccola quantità di informazioni alla parte Jython (o viceversa), mi chiedevo se c'è un modo semplice per farlo, mentre mantenere la natura modulare del framework. Idee?Invocazione di Jython da Python (o Vice Versa)

+0

Sto pensando che execnet potrebbe non essere una cattiva scelta. Pensieri? – Eli

risposta

11

Non ho usato execnet per qualcosa di serio, ma sembra del tutto possibile che sia una buona scelta per voi. execnet è una libreria Python per l'esecuzione distribuita su diverse versioni, piattaforme e barriere di rete.

Non è difficile iniziare. Questo semplice script Jython (che richiama NumPy) ha lavorato per me senza un intoppo:

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 

uscita:

3 

La documentazione includes an example che va nella direzione opposta (un interprete CPython connessione a un interprete Jython).

0

non ha utilizzato matplotlib con execnet ...

Ma ...

Per un rapido provino con execnet (su una piattaforma Win32) è possibile utilizzare PortablePython2.7.2.1

PortablePython contiene il matplotlib ed è facile da installare (e rimuovere)

Problemi correlati