2 votes

Erreur lors du chargement d'un FMU en python avec la bibliothèque pyfmi

J'ai installé la bibliothèque PyFMI et j'essaie de charger un FMU créé par GT-Suite en python.

Je suis en train de suivre ce tutoriel de jmodelica :

https://jmodelica.org/pyfmi/tutorial.html

# Importez la fonction de chargement (load_fmu)
from pyfmi import load_fmu

Ce jeu donne un avertissement

Impossible de trouver l'import du nom 'radau5' depuis 'assimulo.lib' (C:\Users\chinn\Anaconda3\lib\site-packages\assimulo\lib\__init__.py)
Impossible de trouver l'import du nom 'dopri5' depuis 'assimulo.lib' (C:\Users\chinn\Anaconda3\lib\site-packages\assimulo\lib\__init__.py)
Impossible de trouver l'import du nom 'rodas' depuis 'assimulo.lib' (C:\Users\chinn\Anaconda3\lib\site-packages\assimulo\lib\__init__.py)
Impossible de trouver l'import du nom 'odassl' depuis 'assimulo.lib' (C:\Users\chinn\Anaconda3\lib\site-packages\assimulo\lib\__init__.py)
Impossible de trouver les fonctions ODEPACK.
Impossible de trouver RADAR5
Impossible de trouver GLIMDA.

Lorsque j'essaie de charger le modèle FMU

#Charger le FMU
model = load_fmu('AHUdirectRPm.fmu')

Je reçois une erreur

Traceback (most recent call last):

  File "", line 1, in 
    model = load_fmu('AHUdirectRPm.fmu')

  File "src\pyfmi\fmi.pyx", line 7899, in pyfmi.fmi.load_fmu

  File "src\pyfmi\fmi.pyx", line 2558, in pyfmi.fmi.FMUModelCS1.__init__

  File "src\pyfmi\fmi.pyx", line 1167, in pyfmi.fmi.FMUModelBase.__init__

  File "src\pyfmi\fmi.pyx", line 45, in pyfmi.fmi.encode

TypeError: latin_1_encode() argument 1 must be str, not bytes

Quelqu'un peut-il m'aider avec ceci. Que faire?

sortie de 'pyfmi.check_packages()'

Exécution de la vérification du package pyfmi 
==============================

Version PyFMI ................ 2.5                           

Plateforme ..................... win32                         

Version de Python ............... 3.7.3                         

Dépendances: 

Package                        Version                       
-------                        -------                       
assimulo...................... 3.0                           
Cython........................ 0.29.6                        
lxml.......................... 4.3.2                         
matplotlib.................... 3.0.3                         
numpy......................... 1.16.2                        
scipy......................... 1.2.1                         
wxPython...................... --              Package missing - Warning issued, see details below
pyreadline.................... 2.1                           
setuptools.................... 40.8.0                        

Avertissements 
--------

-- Le package wxPython n'a pas pu être trouvé. Ce package est nécessaire pour pouvoir utiliser l'interface graphique de traçage.

1voto

cvg Points 1101

Installer le package pyfmi avec pip donne une erreur. Toutes les dépendances doivent être téléchargées correctement. L'installation via conda ne nécessite pas tout cela. Installé via conda par

conda install -c conda-forge pyfmi 

Cela a bien fonctionné pour moi

0voto

Christian Winther Points 688

L'erreur :

Traceback (most recent call last):

   File "", line 1, in 
       model = load_fmu('AHUdirectRPm.fmu')
   File "src\pyfmi\fmi.pyx", line 7899, in pyfmi.fmi.load_fmu
   File "src\pyfmi\fmi.pyx", line 2558, in pyfmi.fmi.FMUModelCS1.__init__
   File "src\pyfmi\fmi.pyx", line 1167, in pyfmi.fmi.FMUModelBase.__init__
   File "src\pyfmi\fmi.pyx", line 45, in pyfmi.fmi.encode

TypeError: latin_1_encode() argument 1 must be str, not bytes

Est due à un problème avec l'encodage interne de PyFMI et sera corrigé dans les versions ultérieures de PyFMI (>2.5).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X