Problém je v tom, že pyinstaller nevidí importy druhé úrovně . Pokud tedy importujete modul A , pyinstaller to vidí. Ale jakýkoli další modul, který je importován do A nebude vidět.
Ve vašich python skriptech není potřeba nic měnit. Chybějící importy můžete přidat přímo do souboru specifikací .Stačí přidat následující do a = Analysis(...)
:
hiddenimports=["mysql"],
Toto by měl být výsledek:
a = Analysis([os.path.join(HOMEPATH,'support/_mountzlib.py'), os.path.join(HOMEPATH,'support/useUnicode.py'), 'icinga.py'],
pathex=['/home/user/projects/icinga_python/releases/v2.1'], hiddenimports=["mysql"],)
Poté spusťte pyinstaller se souborem spec jako argumentem.