tout le monde,

Je cherche à tester cx_Freeze avec un script utilisant Qt Quick.

En m'appuyant sur l'exemple de Tyrtamos, voilà ce que j'ai fais :
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
52
53
54
55
56
57
58
59
60
61
import sys, os
from cx_Freeze import setup, Executable
 
#############################################################################
# préparation des options 
 
# chemins de recherche des modules
path = sys.path + ["admin"]
 
# options d'inclusion/exclusion des modules
includes = ["sip"]
excludes = []
packages = []
 
# copier les fichiers et/ou répertoires et leur contenu
includefiles = [("qml", "qml"), ("images", "images")]
if sys.platform == "linux2":
    includefiles += [(r"/usr/lib/x86_64-linux-gnu/qt5/plugins/sqldrivers","sqldrivers")]
elif sys.platform == "win32":
    includefiles += [(r"C:\Python27\Lib\site-packages\PyQt4\plugins\sqldrivers","sqldrivers")]
else:
    pass
 
# inclusion éventuelle de bibliothèques supplémentaires
binpathincludes = []
if sys.platform == "linux2":
    # pour que les bibliothèques de /usr/lib soient copiées aussi
    binpathincludes += ["/usr/lib", "/usr/lib/python3/dist-packages/PyQt5/"]
 
# construction du dictionnaire des options
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 = "main.py",
    base = base,
    compress = True,
    icon = None,
    )
 
#############################################################################
# création du setup
setup(
    name = "TestExeQtQuikc",
    version = "1",
    description = "Test d'un exe avec QtQuick",
    author = "Jiyuu",
    options = {"build_exe": options},
    executables = [cible_1]
    )
le build se lance bien mais ... au moment de lancer l'exécutable le message d'erreur suivant apparaît :
File "/usr/local/lib/python3.3/dist-packages/cx_Freeze-4.3.2-py3.3-linux-x86_64.egg/cx_Freeze/initscripts/Console3.py", line 27, in <module>
exec(code, m.__dict__)
File "main.py", line 7, in <module>
File "/usr/lib/python3.3/importlib/_bootstrap.py", line 1565, in _find_and_load
return _find_and_load_unlocked(name, import_)
File "/usr/lib/python3.3/importlib/_bootstrap.py", line 1532, in _find_and_load_unlocked
loader.load_module(name)
File "ExtensionLoader_PyQt5_QtQml.py", line 22, in <module>
File "ExtensionLoader_PyQt5_QtQml.py", line 14, in __bootstrap__
File "/usr/lib/python3.3/importlib/_bootstrap.py", line 1565, in _find_and_load
return _find_and_load_unlocked(name, import_)
File "/usr/lib/python3.3/importlib/_bootstrap.py", line 1529, in _find_and_load_unlocked
raise exc
ImportError: No module named 'PyQt5.QtNetwork'
Zuuut... et pourquoi il me parle de QtNetwork ??? je ne l'utilise pas moi !!!!

J'ai importé manuellement tout ce que je pouvais avoir en PyQt5.xxx.so histoire de tester, rie n'y fait à priori

Une idée de ce qui pourrait clocher ?

D'avance merci.

++

J