Pyinstaller created exe file can not load a keras nn model

If you get errors about h5py submodules, try to use collect_submodules function to add them all to hidden_imports.

You probably noticed a file called myscript.spec generated by a pyinstaller. Inside this file is an instruction on how to build you script (and it’s just a python code too!).

So try to edit this myscript.spec like this:

from PyInstaller.utils.hooks import collect_submodules

hidden_imports = collect_submodules('h5py')

a = Analysis(['myscript.py'],
         binaries=None,
         datas=[],
         hiddenimports=hidden_imports,
         hookspath=[],
         runtime_hooks=[],
         excludes=[],
         win_no_prefer_redirects=False,
         win_private_assemblies=False,
         cipher=None)

# ... rest of a file untouched

Then run pyinstaller against that file: pyinstaller myscript.spec.

Leave a Comment