我是 wasm 技术的新手,我正在尝试使用 Python 的 WebAssembly 运行时https://github.com/wasmerio/wasmer-python来读取 https://github.com/docknetwork/crypto-wasm 的 wasm文件。
问题是 wasmer-python 中可用的所有示例都读取了一个包含一个模块的 wasm 文件。在 crypto-wasm 中,我们有几个模块,我怀疑这是以下代码中的问题。我不确定 wasmer-python 是否支持这个 wasm 的孩子。
这是python代码:
from wasmer import engine, Store, Module, Instance
from wasmer_compiler_cranelift import Compiler
engine = engine.Universal(Compiler)
# Let's define the store, that holds the engine, that holds the compiler.
store = Store(engine)
# Let's compile the module to be able to execute it!
module = Module(store, open('wasm.wasm', 'rb').read())
# Now the module is compiled, we can instantiate it.
instance = Instance(module)
然后wasm.wasm
file 是运行yard build
repo 命令时生成的文件 .https://github.com/docknetwork/crypto-wasm。
然后我收到以下错误:
zak@ubuntu:~/accumulator/python-server$ python3 main.py
Traceback (most recent call last):
File "main.py", line 13, in <module>
instance = Instance(module)
RuntimeError: Error while importing "__wbindgen_placeholder__"."__wbindgen_object_drop_ref": unknown import. Expected Function(FunctionType { params: [I32], results: [] })
任何人都知道可能是这个问题的根本原因吗?我在哪里可以找到有关如何阅读多模块 wasm 的示例?非常感谢任何输入。
非常感谢,扎克