2 votes

Inclure des modules python pour PyInstaller ?

Lors de l'une de mes premières tentatives d'empaqueter mon code python dans un fichier .exe, j'ai rencontré des problèmes avec l'empaquetage et l'exécution du code à l'aide de l'option scipy.weave module. Lorsque je vérifie mon fichier warnproject.txt, je vois 1324 lignes d'avertissements (quelques lignes incluses ci-dessous)

W: no module named numpy.negative (top-level import by scipy.weave.size_check)
W: no module named numpy.asarray (top-level import by scipy.optimize.nonlin)
W: no module named termios (top-level import by tty)
W: no module named scipy.arange (conditional import by scipy.sparse.linalg.isolve.minres)
W: no module named numpy.polyder (top-level import by scipy.signal.signaltools)
W: no module named matplotlib.rcParams (top-level import by matplotlib.figure)
etc...

Première question : pourquoi ai-je autant d'avertissements alors que le programme fonctionne partiellement correctement ?

Deuxième question : comment importer ces modules de manière correcte ? Dans mon project.spec j'ai écrit exe = EXE(..., a.binaries + [('scipy.weave', 'C:\Python27\Lib\site-packages', 'PYMODULE')], ...) mais il ne trouve pas le module et n'empaquette aucun fichier ?

1voto

marius_cornescu Points 66

L'une des solutions consiste à utiliser la fonction crochets pour l'objet d'analyse. Cela force l'analyse (le gars qui compile la liste des dépendances entre autres) à considérer que les modules de hooks ont été importés, et sont donc nécessaires.

a = Analysis(['myscript.py'], hookspath='/my/priv/hooks')

Les crochets est un simple fichier texte.

D'autre part, j'ai des tonnes d'avertissements de ce type, et mon application fonctionne sous linux et Windows sans problèmes liés à l'importation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X