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] (Version actuelle) tyrtamos |
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: |
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.exe" et "monprogramme2.exe" accompagné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. |
| |
\\ | \\ |