cx_Freeze
Le
Verkade

Bonsoir,
Je suis un nouvel utilisateur de Python.
J'ai l'intention d'utiliser cx_Freeze sous Python 3.4.2 pour transformer
des scripts en exécutable sous windows 7 64 bits.
J'ai quelques questions :
1/ cx_Freeze est-il la meilleure solution pour ça ?
2/ Que fait cx_Freeze exactement ? L'exécutable obtenu est-il aussi
rapide que si j'avais fait un programme en C ou en C++ au lieu de le
faire en Python ?
Merci.
V
Je suis un nouvel utilisateur de Python.
J'ai l'intention d'utiliser cx_Freeze sous Python 3.4.2 pour transformer
des scripts en exécutable sous windows 7 64 bits.
J'ai quelques questions :
1/ cx_Freeze est-il la meilleure solution pour ça ?
2/ Que fait cx_Freeze exactement ? L'exécutable obtenu est-il aussi
rapide que si j'avais fait un programme en C ou en C++ au lieu de le
faire en Python ?
Merci.
V
Là, je ne saurais dire.
Voir éventuellement en anglais:
http://docs.python-guide.org/en/latest/shipping/freezing/
Les outils de ce genre empaquettent le binaire Python + tous les modules
nécessaires (en script python ou en librairie exécutable native) dans un
seul fichier, généralement compressé, avec le petit bout de code qui va bien
au lancement pour décompresser si besoin et lancer l'exécution du script
principal par l'interpréteur Python.
Pas de gain de temps à espérer (même une petite perte au démarrage, le temps
de décompresser). C'est surtout un côté pratique pour l'utilisateur qui a
tout dans un seul fichier exécutable.
Si tu veux gagner en vitesse, regarde plutôt du côté de:
* pythran http://pythonhosted.org/pythran/
* cython http://cython.org/
* numba http://numba.pydata.org/numba-doc/0.6/index.html
* shedskin https://code.google.com/p/shedskin/
* … d'autres liens sur cette page http://compilers.pydata.org/ (en anglais)
Ces outils permettent, avec plus ou moins de travail sur le code Python, de
générer des modules de code natif (interfacé avec Python quand même), et
dans certains cas de gagner beaucoup en vitesse — typiquement les boucles de
calculs où les infos nécessaires sont directement disponibles (ie. pas
besoin de repasser par l'interpréteur pour y accéder).
Bons développements,
A+
L.Pointal
Merci.