dersblog

SrPy

Java JVM icinde Python kodu isletebilen Jython, C kodlari kullanan Python kutuphaneleri ne yazik ki isletemedigi icin Scipy, Numpy gibi icinde C kodu iceren kutuphanelere erismek icin, ayri sureclerde (process) isleyen Python kodlari lazim. Bu baglanti Python -> Python iletisimi olacak; Client tarafindaki Python, Jython ile isleyecek, server tarafi ise bildigimiz komut satirindan "python" komutu ile baslattigimiz kodlar olacak. Bu kodlar her turlu C bazli kutuphaneye erisebilecek, sonucu baglanan tarafa dondurecek.

SrPy, Simple Remote Python paketi iki surec (process) arasinda uzak cagri (remote procedure call) yapilabilmesini sagliyor. Kurmak icinhttp://code.google.com/p/srpy/adresinden kodu indirin, actiktan sonra python ez_install.py ile kodlari kurabilirsiniz.Deneme icin server.py adli bir dosyadafrom pylab import *def doit(): return normal(0,sqrt(10))Simdi srpy kurulan dizine girerek: python srpy/srpyapp.py isletelim. Bu bir server sureci baslatacak. Soyle bir ekran geliyor:

SRPy Server - Simple Remote Python, Network Server

http://code.google.com/p/srpy/ - updates, documentation, examples and
support

Starting Basic Server...
URI info:PYRO://127.0.1.1:7766/[BIR SAYI]

Client tarafi ise suna benzer:

import syssys.path.append('[SRPY DIZINI]')

import srpy

pyeng=srpy.PythonEngine("[PYRO IBARESINI ICEREN URL TAMAMEN]")

pyeng.imp("sys")

pyeng.eval("sys.path.append('[SERVER.PY KODUNUN DIZINI]')")

pyeng.exe("from server import doit");

pyeng.exe("x = doit()")

print pyeng.get('x')pyeng.exe("x = doit()")
print pyeng.get('x')pyeng.exe("x = doit()")

print pyeng.get('x')

Ustteki kodu Jython ile islettigimizde Numpy uzerinden uretilmis bir rasgele sayinin ekrana basildigini gorecegiz.


Yukarı