je programme depuis quelque temps sous opencv et l'idée m'est venue de créer un exécutable. Jusqu'à la, aucun problèmes, j'utilise souvent cx_freeze qui ne m'avait jamais causé trop de problèmes.
Cependant lorsque je lance cx_freeze, il ressort une RuntimeError (dans la fonction _AddModule, logiquement). J'ai essayer de trouver l'erreur dans mon code, et j'en ai conclu que... seule l'importation du module opencv pouvait provoquer l'erreur. Même sur un code comme celui-ci :
#!/usr/bin/python
#coding: UTF-8
import cv
j'ai une erreur. J'ai remarqué aussi que si j'importe un module inexistant, on me dis que le module n'existe pas sans pour autant stopper le processus. Donc cx_freeze reconnait quand même le module ! Voila un bout de l'erreur :
File "/usr/local/lib/python2.7/dist-packages/cx_Freeze/finder.py", line 364, in _LoadModule
self._ScanCode(module.code, module, deferredImports)
File "/usr/local/lib/python2.7/dist-packages/cx_Freeze/finder.py", line 452, in _ScanCode
module, relativeImportIndex)
File "/usr/local/lib/python2.7/dist-packages/cx_Freeze/finder.py", line 240, in _ImportModule
deferredImports, namespace = namespace)
File "/usr/local/lib/python2.7/dist-packages/cx_Freeze/finder.py", line 301, in _InternalImportModule
namespace = namespace)
File "/usr/local/lib/python2.7/dist-packages/cx_Freeze/finder.py", line 317, in _InternalImportModule
parentModule, namespace)
File "/usr/local/lib/python2.7/dist-packages/cx_Freeze/finder.py", line 330, in _LoadModule
module = self._AddModule(name)
File "/usr/local/lib/python2.7/dist-packages/cx_Freeze/finder.py", line 86, in _AddModule
module = self._modules[name] = Module(name)
RuntimeError: maximum recursion depth exceeded while calling a Python object
Je n'ai pas trouvé de réponse en cherchant sur le net, je fait donc appel à vous. Merci.
Si le débuggage est l'art d'enlever les bugs, alors la programmation doit-être l'art de les créer
Dans ce post, la solution proposée est apparemment de copier des DLL (je suis sous ubuntu donc ce sera des so), mais après le script cx_freeze. Or je ne parvient justement pas à excecuter mon script en entier.
L'autre solution est de rentrer par exemple cxfreeze main.py --include-modules cv, mais ça me renvoi la même erreur. J'ai oublié de le dire dans le post précédent, mais lorsque j'essaye le même code python en remplaçant "cv" par "cv2", sa marche bien : peut-être un problème avec ma version d'opencv : mais après vérification, tout marche correctement.
Si le débuggage est l'art d'enlever les bugs, alors la programmation doit-être l'art de les créer
cx_freeze et opencv
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.