26 lipca 2015

[python] V8 JavaScript Engine

V8 to silnik JavaScript, natomiast pyv8 jest jego wrapperem do pythona.
Niestety nie udało mi się znaleźć informacji, w jaki sposób przekompilować wersję dla python-a 3. Z tego co wyczytałem projekt opiera się na boost::python-ie, może okazać się także konieczne zainstalowanie narzędzia scons. Wrapper bazuje na rewizji r19623 i skrypt budujący cofa repozytorium do tej wersji. Jest więc starsze o około 6000 commitów o tego co jest na trunku. Mam nadzieje, że nie oznacza to, że projekt obumiera.
svn checkout http://v8.googlecode.com/svn/trunk/ v8
svn checkout http://pyv8.googlecode.com/svn/trunk/ pyv8

export V8_HOME=~/v8
cp pyv8
python setup.py build

# biblioteka zostanie zapisana w ~/.local
python setup.py install --user 
Przykład:
#! /usr/bin/env python2

import PyV8

ctxt = PyV8.JSContext()
ctxt.enter()
result = ctxt.eval('var str = "Hello world!"; \
                    str.substring(1, 5);')
print(result)
Wynik:
ello

Brak komentarzy:

Prześlij komentarz