javascript - 在 Python 中嵌入 Node.js

标签 javascript python node.js pyv8

我正在考虑将 node.js 嵌入到 python 中的选项,以便将 node.js 功能添加到我现有的 python 代码中。我知道它可以反过来完成,如 this post 中所述.但是,我希望尽可能多地保持现有 Python 项目的完整性,这意味着允许 Python 管理执行。

除了提供一个类似于 node.js 的环境,允许我在 PyV8 中使用 node.js 模块外,PyV8 几乎可以做所有我想做的事情,所以它似乎是一个很好的起点。

node.js 是否提供类似于 V8 的外部 API,以便可以修改 PyV8 来包装 node.js?如果没有,有没有办法将 node.js 环境加载到 PyV8 中,以便我可以使用 node.js 模块?

谢谢!

最佳答案

不支持您想执行的操作。与 CPython 解释器甚至 V8 JavaScript 解释器不同,Node.js 不是为嵌入式设计的,没有这样做的接口(interface),也没有认真的计划来改变它。

我找不到关于此的任何官方文档,但有很多线程,例如 this one提供相关信息。

但这并不意味着这是不可能的。 Node 的顶层并没有那么复杂,实际上你只需要修补它的几个部分来做不同的事情。而且,事实上,人们已经尝试在像 tacnode 这样的项目中做到这一点。 .我不知道它们中的任何一个是否已经准备好迎接黄金时段,但它们可能值得一看,特别是如果您愿意并且能够在它们不完整的情况下做出贡献的话。

当然,这只会让您嵌入到 C 或 C++ 中;你仍然需要嵌入 Python。但是包装一个 C 共享库以便您可以在 Python(好吧,CPython 和 PyPy)中使用它是一个长期解决的问题; Python 几乎从一开始就有扩展模块,如果您不想编写任何 C 代码,还有 ctypescffi。还有像 Cython 这样的第三方项目可以让你编写几乎是 Python 的代码,直接调用你的共享库,就好像它是原生 C 一样,并编译成 Python 扩展模块。

因此,它几乎可以肯定是可行的,但它可能不会是微不足道的,也不会打包并准备好开箱即用。

关于javascript - 在 Python 中嵌入 Node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25900639/

相关文章:

node.js - Mongoose 独特 :true pre-save hook calls hook before validation

Python:创建一个类的多个实例

python - 递归导入 : 'import' vs. 'from ... import ...'

javascript - Node.js + MySQL - 处理事务

javascript - 如何使用 node.js 和 cloudflare worker 在现有 HTML 响应中注入(inject) javascript

python - Django |安装新包后自动更新 requirements.txt

javascript - 为什么我的解构赋值代码会得到 'undefined is not a function'?

javascript - 在 JavaScript 对象中使用 'this' 关键字

javascript - 反复缩小一个div的宽度

php - Javascript 或 PHP 中是否有用于定义自定义文档布局的 Canvas /布局编辑器?