ImportError: cannot import name '_device' from partially initialized module 'zmq.backend.cython'

4.6k Views Asked by At

Trying to get great expectations running on windows 10 laptop. Below is what I get when I enter

great_expectations --version

I've installed it no problem on my desktop and my mac but can't figure what the issue is here. This laptop does have Spyder on it which is 3.8.5 compared to 3.10.7 as per stack trace below. Is that the likely issue here?

I've tried reinstalling pyzmq etc like other similar questions say but nothing worked. My desktop also runs 3.10.7 all the dependencies on both are the same versions.

Traceback (most recent call last):
  File "C:\Program Files\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Program Files\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Program Files\Python310\Scripts\great_expectations.exe\__main__.py", line 4, in <module>
  File "C:\Program Files\Python310\lib\site-packages\great_expectations\__init__.py", line 6, in <module>
    from great_expectations.data_context.migrator.cloud_migrator import CloudMigrator
  File "C:\Program Files\Python310\lib\site-packages\great_expectations\data_context\__init__.py", line 1, in <module>
    from great_expectations.data_context.data_context import (
  File "C:\Program Files\Python310\lib\site-packages\great_expectations\data_context\data_context\__init__.py", line 1, in <module>
    from great_expectations.data_context.data_context.abstract_data_context import (
  File "C:\Program Files\Python310\lib\site-packages\great_expectations\data_context\data_context\abstract_data_context.py", line 113, in <module>
    from great_expectations.rule_based_profiler.data_assistant.data_assistant_dispatcher import (
  File "C:\Program Files\Python310\lib\site-packages\great_expectations\rule_based_profiler\data_assistant\__init__.py", line 1, in <module>
    from .data_assistant import DataAssistant
  File "C:\Program Files\Python310\lib\site-packages\great_expectations\rule_based_profiler\data_assistant\data_assistant.py", line 13, in <module>
    from great_expectations.rule_based_profiler.data_assistant_result import (
  File "C:\Program Files\Python310\lib\site-packages\great_expectations\rule_based_profiler\data_assistant_result\__init__.py", line 1, in <module>
    from .data_assistant_result import DataAssistantResult
  File "C:\Program Files\Python310\lib\site-packages\great_expectations\rule_based_profiler\data_assistant_result\data_assistant_result.py", line 24, in <module>
    import ipywidgets as widgets
  File "C:\Program Files\Python310\lib\site-packages\ipywidgets\__init__.py", line 25, in <module>
    from .widgets import *
  File "C:\Program Files\Python310\lib\site-packages\ipywidgets\widgets\__init__.py", line 4, in <module>
    from .widget import Widget, CallbackDispatcher, register, widget_serialization
  File "C:\Program Files\Python310\lib\site-packages\ipywidgets\widgets\widget.py", line 13, in <module>
    from ipykernel.comm import Comm
  File "C:\Program Files\Python310\lib\site-packages\ipykernel\__init__.py", line 5, in <module>
    from .connect import *  # noqa
  File "C:\Program Files\Python310\lib\site-packages\ipykernel\connect.py", line 11, in <module>
    import jupyter_client
  File "C:\Program Files\Python310\lib\site-packages\jupyter_client\__init__.py", line 8, in <module>
    from .asynchronous import AsyncKernelClient  # noqa
  File "C:\Program Files\Python310\lib\site-packages\jupyter_client\asynchronous\__init__.py", line 1, in <module>
    from .client import AsyncKernelClient  # noqa
  File "C:\Program Files\Python310\lib\site-packages\jupyter_client\asynchronous\client.py", line 6, in <module>
    from jupyter_client.channels import HBChannel
  File "C:\Program Files\Python310\lib\site-packages\jupyter_client\channels.py", line 12, in <module>
    import zmq.asyncio
  File "C:\Program Files\Python310\lib\site-packages\zmq\__init__.py", line 103, in <module>
    from zmq import backend
  File "C:\Program Files\Python310\lib\site-packages\zmq\backend\__init__.py", line 31, in <module>
    raise original_error from None
  File "C:\Program Files\Python310\lib\site-packages\zmq\backend\__init__.py", line 26, in <module>
    _ns = select_backend(first)
  File "C:\Program Files\Python310\lib\site-packages\zmq\backend\select.py", line 31, in select_backend
    mod = import_module(name)
  File "C:\Program Files\Python310\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:\Program Files\Python310\lib\site-packages\zmq\backend\cython\__init__.py", line 6, in <module>
    from . import (
ImportError: cannot import name '_device' from partially initialized module 'zmq.backend.cython' (most likely due to a circular import) (C:\Program Files\Python310\lib\site-packages\zmq\backend\cython\__init__.py)

Return the version of great expectations.

1

There are 1 best solutions below

0
On

Try uninstalling and reinstalling pyzmq with pip

For reference, I got this error when trying to run the "jupyter notebook" command, but it started after I interrupted the kernel with cntl+c. Reinstalling pyzmq fixed it for me