問題は、pyinstallerが第2レベルのインポートを認識しないことです。 。したがって、モジュール 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を実行します。