Проблемът е, че pyinstaller няма да вижда импорт на второ ниво . Така че, ако импортирате модул A , pyinstaller вижда това. Но всеки допълнителен модул, който е импортиран в A няма да се види.
Няма нужда да променяте нищо във вашите скриптове на Python. Можете директно да добавите липсващите импортирания към спецфайла .Просто добавете следното в a = Analysis(...)
:
hiddenimports=["mysql"],
Това трябва да бъде резултатът:
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"],)
След това стартирайте pyinstaller със спецификационния файл като аргумент.