Masalahnya adalah pyinstaller tidak akan melihat impor tingkat kedua . Jadi jika Anda mengimpor modul A , pyinstaller melihat ini. Tetapi modul tambahan apa pun yang diimpor di A tidak akan terlihat.
Tidak perlu mengubah apa pun di skrip python Anda. Anda dapat langsung menambahkan impor yang hilang ke file spesifikasi .Cukup tambahkan berikut ini di a = Analysis(...)
:
hiddenimports=["mysql"],
Ini seharusnya hasilnya:
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"],)
Setelah itu jalankan pyinstaller dengan file spec sebagai argumen.