Bonjour,
Je rencontre des difficultés à freezer correctement un code qui affiche un widget qt contenant un tracé matplotlib.
Voci l'erreur que je recontre
Voici les import que je fais dans le programme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 .... File ExtensionLoader_matplotlib_path.py, line 12 in <module> ImportError : numpy.core.multiarray failed to import
Et, enfin, voici le script que j'utilise pour "geler" le tout
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 from __future__ import division import sys from collections import namedtuple from datetime import date,timedelta,datetime from PyQt4 import QtGui, QtCore from interval import Interval import matplotlib.backends.backend_qt4agg import matplotlib import matplotlib.lines as mlines from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.figure import Figure
Pourtant, à l'issue du setup, j'ai bien un fichier numpy.core.multiarray dans le répertoire de l'application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 #!/usr/bin/env python # -*- coding:UTF-8 -*- import sys, os import matplotlib from cx_Freeze import setup, Executable # Searh path path = sys.path # options d'inclusion/exclusion des modules includes = ["sip","atexit"] excludes = [] packages = [] includefiles = [( matplotlib.get_data_path(),"mpl-data")] # inclusion éventuelle de bibliothèques supplémentaires binpathincludes = [] options = {"path": path, "includes": includes, "excludes": excludes, "packages": packages, "include_files": includefiles, "bin_path_includes": binpathincludes } ############################################################################# # préparation des cibles base = None if sys.platform == "win32": base = "Win32GUI" cible_1 = Executable( script = "lineswidget.py", base = base, compress = True, icon = None, ) ############################################################################# # setup setup( name = "lineswidget", version = "1", description = "freeze matplotlib test", author='chticri', options={"build_exe":options}, executables=[cible_1] )
Merci d'avance pour toute piste de solution
Partager