Il problema è che pyinstaller non vedrà importazioni di secondo livello . Quindi, se importi il modulo A , pyinstaller lo vede. Ma qualsiasi modulo aggiuntivo importato in A non si vedrà.
Non è necessario modificare nulla nei tuoi script Python. Puoi aggiungere direttamente le importazioni mancanti al file delle specifiche .Aggiungi quanto segue in a = Analysis(...)
:
hiddenimports=["mysql"],
Questo dovrebbe essere il risultato:
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"],)
Dopodiché, esegui pyinstaller con il file delle specifiche come argomento.