CEBO-Stick und Python: OSError: [WinError 126] Das angegebene Modul wurde nicht gefunden

    • CEBO-Stick und Python: OSError: [WinError 126] Das angegebene Modul wurde nicht gefunden

      Hallo,

      Ich bekomme immer das gleiche WinError 126 beim starten der Python-Beispiele im mu-editor (Windows 10):

      Traceback (most recent call last):
      File "c:\users\aktie\mu_code\mu_code-20210106t115735z-001\mu_code\python\infoexample.py", line 30, in <module>
      from CeboMsrApiPython import LibraryInterface, DeviceType
      File "c:\users\aktie\mu_code\mu_code-20210106t115735z-001\mu_code\python\CeboMsrApiPython.py", line 137, in <module>
      _library = cdll.LoadLibrary(_getLibraryName())
      File "ctypes\__init__.py", line 426, in LoadLibrary
      File "ctypes\__init__.py", line 348, in __init__
      OSError: [WinError 126] Das angegebene Modul wurde nicht gefunden
      >>>

      Liegt es am Pfad ? Fehlen da dll-Files ?

      Danke für eine hilfreiche Antwort

      Gerhard
    • Hallo Gerhard,

      ich habe heute bei mir ein ähnliches Problem beim CEBO-LC entdeckt:


      File "C:\Python\Python39-64\lib\ctypes\__init__.py", line 452, in LoadLibrary

      return self._dlltype(name)

      File "C:\Python\Python39-64\lib\ctypes\__init__.py", line 374, in __init__

      self._handle = _dlopen(self._name, mode)

      FileNotFoundError: Could not find module 'cebomsr-1.7-x86_64.dll' (or one of its dependencies). Try using the full path with constructor syntax.

      Nach mehrstündiger Fehlersuche habe ich herausgefunden, dass die Python-API problemlos mit Python 2.7 funktioniert, nicht jedoch mit Python 3.8 oder 3.9! Ich hoffe, dass hier bald ein Update erfolgt.

      Das Verzeichnis mit den dll-Datei sollte jedoch in der PATH-Variable eingetragen sein oder die dll-Dateien in das Ausführungsverzeichnis kopieren.

      Viele Grüße

      Gunnar

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von guri ()

    • Danke guri,

      ich habe folgende dlls in das Arbeitsverzeichnis kopiert:

      cebomsrapi-windows-1.7.zip entpacken
      alle dlls vom ...\cebomsrapi-windows-1.7\cebomsrapi-windows-1.7\runtime Verzeichnis ins Arbeitsverzeichnis kopieren:

      cebomsr-1.7-x86.dll
      cebomsr-1.7-x86_64.dll
      libusb-1.0-x86.dll
      libusb-1.0-x86_64.dll

      die Demos laufen dann auch unter Python 3.9

      Gerhard
    • Hallo Gerhard und Gunnar,

      mit Python 3.8 und 3.9 funktioniert die Suche nach DLLs anders als
      vorher. Zur Wiederherstellung des alten Verhaltens muss die Datei
      CeboMsrApiPython.py um eine Zeile "import os" am Anfang ergänzt
      und die Zeile

      _library = cdll.LoadLibrary(_getLibraryName())

      durch die zwei Zeilen

      os.add_dll_directory(os.path.dirname(__file__))
      _library = cdll.LoadLibrary(_getLibraryName())

      ersetzt werden. In einem zukünftigen Release des Archivs
      cebomsrapi-windows-1.7.zip und den Varianten für Linux
      wird dieser Patch enthalten sein.

      Manfred R.
      Software Development
      Cesys GmbH