Недавно я обнаружил интересную альтернативу - модуль Python bond , который можно использовать для связи с процессом NodeJs (механизм v8).
Использование будет очень похоже на привязки pyv8 , но вы можете напрямую использовать любую библиотеку NodeJs без изменений, что для меня является основным преимуществом.
Ваш код Python будет выглядеть так:
val = js.call('add2', var1, var2)
или даже:
add2 = js.callable('add2')
val = add2(var1, var2)
Хотя вызов функций определенно медленнее, чем pyv8, поэтому он сильно зависит от ваших потребностей. Если вам нужно использовать пакет npm
, который делает много тяжелой работы, bond
отлично подходит. Вы можете даже запускать параллельно больше процессов nodejs.
Но если вам просто нужно вызвать несколько функций JS (например, чтобы иметь одинаковые функции проверки между браузером / бэкэндом), pyv8
определенно будет намного быстрее.