我无法将 python 文件转换为 wasm 文件。尝试使用 emscripten 和 pyodide 从 python 转换为 wasm。但无法获得正确的编译包。目前尚不清楚是否应该使用 Emscripten 和 Pyodide 以外的正确包。另外,pyodide 软件包是没有完美安装以进行编译的软件包。
所以我的问题是如何将 python 代码转换为 wasm 文件?这个转换使用的编译器和编译包是什么?
就这个问题而言,WASM 可以看作是一个目标架构。因此,一个更普遍的问题是如何使用支持 WASM 的工具将 Python 转换为二进制可执行文件。
Pyodide 构建了运行 Python 代码的 CPython 解释器,因此它不会执行 Python 到 WASM 的转换。您可以将 Cython 应用于您的代码(或 mypyc),将 Python 转换为 C,然后使用 Pyodide 构建系统(通过 Emscripten)将其构建为 WASM。
总的来说,另一个问题是你为什么要这样做? Python 是一种相当复杂的动态语言,如果不花费大量时间进行调优,仅仅采用 Python 代码并编译它通常不会产生巨大的性能改进。 cython 类型。即使你编译了代码,你仍然需要附带 CPython 解释器,所以从大小上来说它并不小。
有一些较新的项目旨在促进类似 Python 的代码转换为 wasm(例如 spy),但它仍然处于实验阶段,而且它是一种类似 Python 的语言,而不是真正的 Python。