Jak opravit erpc ValueError: The generated shim code version ... is different to the rest of eRPC code

Problém:

Při pokusu importovat váš erpc projekt generovaný Python kód pomocí např.

erpc_import_example.py
from erpc_myproject import *

Vidíte následující chybové hlášení:

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/.

Řešení

Buď jste nenainstalovali erpc knihovny Python (pokud chybové hlášení uvádí ... different to the rest of eRPC code ('unknown')) nebo jste nainstalovali špatnou verzi (např. ... (1.9.1) is different to the rest of eRPC code ('1.10.0')).

Pokud jste nenainstalovali erpc vůbec, jednoduše použijte

pip_install_erpc.sh
pip install erpc

a zkusit znovu spustit váš skript.

Pokud jste nainstalovali špatnou verzi, máte dvě možnosti:

Možnost 1 (upřednostňovaná): Znovu vygenerovat kód

Jen použijte původní příkaz (nějaké erpcgen volání), který jste použili pro znovu vygenerování kódu pomocí aktuálně nainstalované verze.

Možnost 2: Nainstalujte správnou verzi

Pro to musíte určit, jaká je správná verze. Uvažme následující chybové hlášení:

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/.

Z této zprávy můžeme přečíst, že shim code version je 1.9.1 zatímco vy máte 1.10.0 nainstalovánu. Proto, aby to fungovalo, musíme nainstalovat erpc verzi 1.9.1.

Nainstalujte ji pomocí

pip_install_erpc_version.sh
pip install -U erpc==1.9.1

a pak zkuste znovu váš příkaz. Pokud používáte jupyter notebooks nebo podobné, musíte restartovat váš kernel pro načtení nové knihovny!


Podívejte se na podobné články podle kategorie: Embedded Python