首页 > 解决方案 > ImportError:无法从部分初始化的模块“wasmer”导入名称“engine”

问题描述

我刚刚使用这些安装了 wasmer 和 wasmer 起重机:

pip install wasmer
pip install wasmer-compiler-cranelift

我已经从这个库的示例文件夹中复制了一个示例脚本

from wasmer import engine, wat2wasm, Store, Module, Instance
from wasmer_compiler_cranelift import Compiler

wasm_bytes = wat2wasm(
    """
    (module
      (type $sum_t (func (param i32 i32) (result i32)))
      (func $sum_f (type $sum_t) (param $x i32) (param $y i32) (result i32)
        local.get $x
        local.get $y
        i32.add)
      (export "sum" (func $sum_f)))
    """
)
engine = engine.Universal(Compiler)

store = Store(engine)

module = Module(store, wasm_bytes)

instance = Instance(module)

sum = instance.exports.sum
results = sum(1, 2)

print(results)
assert results == 3

在运行此脚本时,我收到此错误

ImportError: cannot import name 'engine' from partially initialized module 'wasmer' 

我在这里错过了什么吗?

追溯:

Traceback (most recent call last):
  File "wasmer.py", line 1, in <module>
    from wasmer import engine, Store, Module, Instance
  File "F:\Projects\python-projects\wasmer.py", line 1, in <module>
    from wasmer import engine, Store, Module, Instance
ImportError: cannot import name 'engine' from partially initialized module 'wasmer' (most likely due to a circular import) (F:\Projects\python-projects\wasmer.py)

标签: pythonwebassembly

解决方案


推荐阅读