Как исправить erpc ValueError: The generated shim code version ... is different to the rest of eRPC code

Проблема:

При попытке импортировать сгенерированный Python-код вашего проекта erpc, например,

erpc_import_example.py
from erpc_myproject import *

Вы видите следующее сообщение об ошибке:

erpc_traceback.txt
Traceback (most recent call last)
Cell In [1], line 1
----> 1 from erpc_myproject import *

File ./erpc_myproject/__init__.py:13
    11     version = "unknown"
    12 if version != "1.9.1":
---> 13     raise ValueError("The generated shim code version (1.9.1) is different to the rest of eRPC code (%s). \
    14 Install newer version by running \"python setup.py install\" in folder erpc/erpc_python/." % repr(version))
    16 from . import common
    17 from . import client

ValueError: The generated shim code version (1.9.1) is different to the rest of eRPC code ('unknown'). Install newer version by running "python setup.py install" in folder erpc/erpc_python/.

Решение

Либо вы не установили Python-библиотеку erpc (если в сообщении об ошибке указано ... different to the rest of eRPC code ('unknown')), либо вы установили неправильную версию (например, ... (1.9.1) is different to the rest of eRPC code ('1.10.0')).

Если вы вообще не установили erpc, просто используйте

pip_install_erpc.sh
pip install erpc

и повторите запуск вашего скрипта.

Если вы установили неправильную версию, у вас есть два варианта:

Вариант 1 (предпочтительный): Перегенерировать код

Просто используйте исходную команду (некоторый вызов erpcgen), которую вы использовали для перегенерации кода с использованием текущей установленной версии.

Вариант 2: Установить правильную версию

Для этого вам нужно определить, какая версия правильная. Рассмотрим следующее сообщение об ошибке:

erpc_version_mismatch.txt
ValueError: The generated shim code version (1.9.1) is different to the rest of eRPC code ('1.10.0'). Install newer version by running "python setup.py install" in folder erpc/erpc_python/.

Из этого сообщения мы видим, что версия shim-кода — 1.9.1, тогда как у вас установлена 1.10.0. Следовательно, чтобы заставить его работать, нам нужно установить версию erpc 1.9.1.

Установите её с помощью

pip_install_erpc_version.sh
pip install -U erpc==1.9.1

а затем повторите вашу команду. Если вы используете jupyter notebooks или подобное, вам нужно перезапустить ядро, чтобы загрузить новую библиотеку!


Check out similar posts by category: Embedded Python