【发布时间】:2014-11-12 02:01:07
【问题描述】:
我正在考虑将 node.js 嵌入到 python 中以将 node.js 功能添加到我现有的 python 代码中。我知道可以反过来做,如this post 中所述。但是,我希望尽可能多地保持现有 Python 项目的完整,这意味着允许 Python 管理执行。
PyV8 几乎可以满足我的所有需求,除了提供一个类似 node.js 的环境,允许我在 PyV8 中使用 node.js 模块,所以这似乎是一个很好的起点。
node.js 是否提供类似于 V8 的外部 API,以便可以修改 PyV8 以包装 node.js?如果没有,有没有办法将 node.js 环境加载到 PyV8 中,以便我可以使用 node.js 模块?
谢谢!
【问题讨论】:
-
你想做什么,你不能让一个节点服务与你的 python 脚本并行运行,或者只是节点本身?
-
与其专门询问 Python,不如先询问是否可以将 Node 嵌入到 C(或 C++)应用程序中。如果这不可能,那么将其嵌入 Python(至少是 CPython,这可能是您可能想要的)将是不可能的;如果是这样,将其嵌入 Python 最坏的情况是将 C 嵌入包装在 Python C 扩展模块中,或者通过
ctypes或cffi调用它 -
同时,我上次检查过(那是不久前……),Node(不像 CPython……或者,就此而言,V8)没有正式的嵌入支持,也没有计划添加任何嵌入支持,但是有是您可以研究的各种第三方包装器,例如
tacnode。 -
@bitoiu 好问题。您可能是对的,服务可能是解决方案。但是,考虑到选择,我更喜欢与 node.js 紧密集成以提高可管理性和速度。 wrt Speed,Node.js 几乎肯定会受到处理器的限制,并且启动一个私有实例将对此有所帮助。 wrt 可管理性,我宁愿不给系统增加额外的接口。
-
这是一项开销,但在系统设计上,与您在维护一项其他人无法理解的功能(嵌入)时可能产生的开销相反,这可能会在未来给您带来更多问题。
标签: javascript python node.js pyv8