Partage
  • Partager sur Facebook
  • Partager sur Twitter

cx_freeze trop de modules importés

comportement anormal

21 décembre 2016 à 17:42:39

Bonjour,

je viens de désinstaller/Réinstaller cx_freeze qui permet de créer un exécutable à partir d'un script python. Mais voilà, depuis cette réinstallation, beaucoup de sources dont ne se sert pas le script sont quand même importées à chaque fois.

mon programme, install.py, importe winreg, zipfile et os.

setup.py :

import sys
from cx_Freeze import setup, Executable

setup(
    name = "prgm",
    version = "1.1",
    description = "prgm",
    executables = [Executable("install.py", base = "Win32GUI")])

avant, les dépendances de mon exécutable se résumaient à :

Maintenant, j'y trouve des librairies inutiles à foison :

Je n'ai rien changé à mon programme. J'aimerais réobtenir les résultats que j'avais avant, c'était bien plus pratique et beaucoup moins lourd.

Je vous remercie par avance pour votre aide.

EDIT: je suis sous windows 10, travaille avec python 3.4 et avec cx_freeze 5.0 pour python 34

-
Edité par Everyatis 21 décembre 2016 à 17:51:01

  • Partager sur Facebook
  • Partager sur Twitter
26 décembre 2016 à 15:21:17

Je n'ai toujours pas trouvé de solution à mon problème, si une âme charitable pouvait m'apporter son aide je lui en serait très reconnaissante.

-
Edité par Everyatis 26 décembre 2016 à 15:21:42

  • Partager sur Facebook
  • Partager sur Twitter
26 décembre 2016 à 16:21:49

Salut,

Impossible de te dire comment exactement retrouver ce que tu avais. Toutefois il est possible d'indiquer à cx_freeze ce que tu veux inclure ou pas dans ton exécutable.

La fonction setup prend entre autre comme argument le mot-clé options. On lui associe un dictionaire contenant en clé le nom de la commande qui nous intéresse et en valeur un autre dictionnaire qui te permet de définir les options pour la commande concernée.

Dans notre cas, on veut customiser la commande build_exe. Donc

import sys
from cx_Freeze import setup, Executable
 
setup(
    name = "prgm",
    version = "1.1",
    description = "prgm",
    options={"build_exe": {
        "une option": "une valeur", ...
    }},
    executables = [Executable("install.py", base = "Win32GUI")])

Tu trouveras la liste des options pour build_exe ici. Tu verras qu'il y a une option excludes qui permet de donner une liste de nom de modules à exclure. Donc c'est là que tu pourrais renseigner ce que tu ne veux pas inclure.

  • Partager sur Facebook
  • Partager sur Twitter