ethereum/consensus-specs

Error running `make test`: PyO3 modules may only be initialized once

jtraglia opened this issue · 1 comments

When running make test I get the following error:

ImportError while loading conftest '<path>/consensus-specs/tests/core/pyspec/eth2spec/test/conftest.py'.
eth2spec/test/conftest.py:1: in <module>
    from eth2spec.test import context
eth2spec/test/context.py:6: in <module>
    from eth2spec.utils import bls
eth2spec/utils/bls.py:24: in <module>
    from py_arkworks_bls12381 import (
../../../venv/lib/python3.12/site-packages/py_arkworks_bls12381/__init__.py:1: in <module>
    from .py_arkworks_bls12381 import *
E   ImportError: PyO3 modules may only be initialized once per interpreter process
make: *** [test] Error 4

To no alas, I spent a little time trying to fix this. Doesn't seem like it will be a simple fix. I moved bls_active into a separate file, but then the whisk spec imports curdleproofs which imports py_arkworks. Not sure what to do here.