Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

cx_Freeze

3 réponses
Avatar
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

3 réponses

Avatar
Laurent Pointal
Verkade wrote:

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 ?



Là, je ne saurais dire.

Voir éventuellement en anglais:
http://docs.python-guide.org/en/latest/shipping/freezing/

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 ?



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).

Merci.



Bons développements,

A+
L.Pointal
Avatar
Laurent Pointal
Un complément: https://wiki.python.org/moin/DistributionUtilities
Avatar
Verkade
Le 25/12/2014 13:32, Laurent Pointal a écrit :
Verkade wrote:

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 ?



Là, je ne saurais dire.

Voir éventuellement en anglais:
http://docs.python-guide.org/en/latest/shipping/freezing/

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 ?



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).

Merci.



Bons développements,

A+
L.Pointal



Merci.