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

Problème :

En essayant d’importer le code Python généré par votre projet erpc en utilisant par ex.

erpc_import_example.py
from erpc_myproject import *

Vous voyez le message d’erreur suivant :

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

Solution

Soit vous n’avez pas installé la bibliothèque Python erpc (si le message d’erreur liste ... different to the rest of eRPC code ('unknown')) soit vous avez installé la mauvaise version (par ex. ... (1.9.1) is different to the rest of eRPC code ('1.10.0')).

Si vous n’avez pas installé erpc du tout, utilisez simplement

pip_install_erpc.sh
pip install erpc

et réessayez d’exécuter votre script.

Si vous avez installé la mauvaise version, vous avez deux options :

Option 1 (préférée) : Régénérer le code

Utilisez simplement la commande originale (un appel erpcgen) que vous avez utilisée pour régénérer le code en utilisant la version actuellement installée.

Option 2 : Installer la version correcte

Pour cela, vous devez déterminer quelle est la version correcte. Considérons le message d’erreur suivant :

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

Depuis ce message, nous pouvons lire que la version du code shim est 1.9.1 alors que vous avez 1.10.0 installé. Par conséquent, afin de le faire fonctionner, nous devons installer la version 1.9.1 d’erpc.

Installez-le en utilisant

pip_install_erpc_version.sh
pip install -U erpc==1.9.1

et ensuite réessayez votre commande. Si vous utilisez des notebooks jupyter ou similaires, vous devez redémarrer votre kernel pour charger la nouvelle bibliothèque !


Consultez les articles similaires par catégorie : Embedded Python