Mysql
 sql >> Base de données >  >> RDS >> Mysql

PyInstaller, fichier spec, ImportError :Aucun module nommé 'blah'

Le problème est que pyinstaller ne verra pas les importations de second niveau . Donc si vous importez le module A , pyinstaller le voit. Mais tout module supplémentaire importé dans A ne sera pas vu.

Il n'est pas nécessaire de modifier quoi que ce soit dans vos scripts python. Vous pouvez directement ajouter les importations manquantes au fichier de spécifications .Ajoutez simplement ce qui suit dans a = Analysis(...) :

hiddenimports=["mysql"],

Cela devrait être le résultat :

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"],)

Après cela, lancez pyinstaller avec le fichier spec comme argument.