Warning: Undefined array key "DOKU_PREFS" in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/common.php on line 2082
cx_freeze [Les recettes Python de Tyrtamos]

Outils pour utilisateurs

Outils du site


cx_freeze

Warning: Undefined array key -1 in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/html.php on line 1458

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
cx_freeze [2014/12/24 11:46]
tyrtamos
cx_freeze [2014/12/24 12:21]
tyrtamos
Ligne 143: Ligne 143:
 A titre d'exemple: dans un répertoire, j'ai un développement comportant 2 programmes .py à lancer en exe: monprogramme1.py et monprogramme2.py. Il peut y avoir dans ce répertoire des modules personnels utilisés par ces 2 fichiers .py. A titre d'exemple: dans un répertoire, j'ai un développement comportant 2 programmes .py à lancer en exe: monprogramme1.py et monprogramme2.py. Il peut y avoir dans ce répertoire des modules personnels utilisés par ces 2 fichiers .py.
  
-On place le setup.py dans ce répertoire, et on le configure.+On place le setup.py dans ce répertoire, et on le configure en fonction du programme.
  
 On prend alors la console (cmd pour Windows), on se loge dans le répertoire en question (avec "cd chemin"), et on fait: On prend alors la console (cmd pour Windows), on se loge dans le répertoire en question (avec "cd chemin"), et on fait:
Ligne 153: Ligne 153:
 Il vient alors des lignes qui indiquent le déroulement du traitement par cx_freeze. On lit soigneusement pour voir s'il y a des erreurs. En cas d'erreur, il faut corriger le setup.py et/ou corriger directement les programmes. Il vient alors des lignes qui indiquent le déroulement du traitement par cx_freeze. On lit soigneusement pour voir s'il y a des erreurs. En cas d'erreur, il faut corriger le setup.py et/ou corriger directement les programmes.
  
-Le résultat se trouve dans le sous-répertoire build/exe.win32-3.4 (exemple pour Python 3.4 sous Windows), qui contient les 2 exécutables voulus monprogramme1.exe et monprogramme2.exe accompagnés de toutes les bibliothèques nécessaires, y compris bien entendu de l'interpréteur Python. +Sous Windows, le résultat se trouve dans le sous-répertoire build/exe.win32-3.4 (exemple pour Python 3.4), qui contient les 2 exécutables voulus "monprogramme1.exeet "monprogramme2.exeaccompagnés de toutes les bibliothèques nécessaires, y compris bien entendu de l'interpréteur Python. 
  
 Le répertoire à diffuser est donc dans cet exemple: 'exe.win32-3.4'. On peut le renommer en "monprogramme" ou en n'importe quoi d'autre. On peut aussi le diffuser sous forme d'archive zip. Le répertoire à diffuser est donc dans cet exemple: 'exe.win32-3.4'. On peut le renommer en "monprogramme" ou en n'importe quoi d'autre. On peut aussi le diffuser sous forme d'archive zip.
  
-On peut, bien entendu traiter des cas plus complexes en utilisant toutes les nombreuses options possibles: voir [[http://cx-freeze.readthedocs.org/en/latest/index.html]]+Il est bien sûr possible d'utiliser en plus un "installeur" qui permettra à un utilisateur d'installer ce programme comme n'importe quel autre. Il y a des possibilités sous cx_freeze de faire cela, mais en ce qui me concerne, j'utilise plutôt "inno Setup" sous Windows ([[http://www.jrsoftware.org/isinfo.php]]). Sous Linux, on peut créer des paquets (rpm, ...) mais je n'ai jamais essayé. 
  
-J'essaie de ne gérer qu'un seul setup.py pour Windows et Linux, quitte à mettre les particularités sous les test "if sys.platform==..." Mais l'exécutable Windows doit être construit sous Windows, et l'exécutable Linux sous Linux, à cause des bibliothèques à intégrer qui sont différentes.+On peut, bien entendu traiter des cas plus complexes en utilisant toutes les nombreuses options possibles: voir [[http://cx-freeze.readthedocs.org/en/latest/index.html]]. 
 + 
 +J'essaie de ne gérer qu'un seul setup.py pour Windows et Linux, quitte à mettre les particularités sous les tests "if sys.platform==..." Mais l'exécutable Windows doit être construit sous Windows, et l'exécutable Linux sous Linux, à cause des bibliothèques à intégrer qui sont différentes.
  
 \\ \\
cx_freeze.txt · Dernière modification: 2014/12/24 12:21 de tyrtamos