Using nrfutil sdk v2.9.3 fails under Windows "class must define a '_type_' attribute"

Hi,

 After installing nrf sdk v2.9.3 trying to build application under Windows fails with the following message:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\ncs\toolchains\b620d30767\opt\bin\Scripts\imgtool.exe\__main__.py", line 4, in <module>
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\imgtool\main.py", line 21, in <module>
    import click
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\click\__init__.py", line 7, in <module>
    from .core import Argument as Argument
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\click\core.py", line 16, in <module>
    from . import types
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\click\types.py", line 8, in <module>
    from ._compat import _get_argv_encoding
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\click\_compat.py", line 518, in <module>
    from ._winconsole import _get_windows_console_stream
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\click\_winconsole.py", line 13, in <module>
    from ctypes import byref
  File "ctypes\__init__.py", line 157, in <module>
AttributeError: class must define a '_type_' attribute
ninja: build stopped: subcommand failed.

Trying to run any command inside the NCS shell/terminal produces similar result, e.g.:

>C:/ncs/toolchains/b620d30767/opt/bin/python.exe -m pip --version
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\__main__.py", line 22, in <module>
    from pip._internal.cli.main import main as _main
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_internal\cli\main.py", line 11, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_internal\cli\autocompletion.py", line 10, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_internal\cli\main_parser.py", line 9, in <module>
    from pip._internal.build_env import get_runnable_pip
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_internal\build_env.py", line 18, in <module>
    from pip._internal.cli.spinners import open_spinner
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_internal\cli\spinners.py", line 9, in <module>
    from pip._internal.utils.logging import get_indentation
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_internal\utils\logging.py", line 29, in <module>
    from pip._internal.utils.misc import ensure_dir
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_internal\utils\misc.py", line 41, in <module>
    from pip._internal.locations import get_major_minor_version
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_internal\locations\__init__.py", line 14, in <module>
    from . import _sysconfig
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_internal\locations\_sysconfig.py", line 11, in <module>
    from .base import change_root, get_major_minor_version, is_osx_framework
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_internal\locations\base.py", line 9, in <module>
    from pip._internal.utils import appdirs
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_internal\utils\appdirs.py", line 13, in <module>
    from pip._vendor import platformdirs as _appdirs
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_vendor\platformdirs\__init__.py", line 45, in <module>
    PlatformDirs = _set_platform_dir_class()  #: Currently active platform
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_vendor\platformdirs\__init__.py", line 25, in _set_platform_dir_class
    from pip._vendor.platformdirs.windows import Windows as Result  # noqa: PLC0415
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_vendor\platformdirs\windows.py", line 268, in <module>
    get_win_folder = lru_cache(maxsize=None)(_pick_get_win_folder())
                                             ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\ncs\toolchains\b620d30767\opt\bin\Lib\site-packages\pip\_vendor\platformdirs\windows.py", line 254, in _pick_get_win_folder
    import ctypes  # noqa: PLC0415
    ^^^^^^^^^^^^^
  File "ctypes\__init__.py", line 157, in <module>
AttributeError: class must define a '_type_' attribute

This means the problem is somewhere in python package internal to the SDK/Toolchain

Is there any known solution to this problem?

Best regards.

Related