Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

PyInstaller, arquivo de especificação, ImportError:Nenhum módulo chamado 'blah'


O problema é que o pyinstaller não verá importações de segundo nível . Então, se você importar o módulo A , o pyinstaller vê isso. Mas qualquer módulo adicional importado em A não será visto.

Não há necessidade de alterar nada em seus scripts python. Você pode adicionar diretamente as importações ausentes ao arquivo de especificação .Basta adicionar o seguinte em a = Analysis(...) :
hiddenimports=["mysql"],

Este deve ser o resultado:
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"],)

Depois disso, execute o pyinstaller com o arquivo spec como argumento.