Bonjour,
Je ne connaissais pas, mais par curiosité, je viens d'essayer (Windows 10, Python 3.7.4)!
Pour l'installation, j'ai choisi pip:
Il vient alors du code python dans site-packages, mais aussi plusieurs "exe" dans Scripts.
Il faut aussi un bon compilateur, j'ai choisi mingw, mais il faut le mingw-64 (https://sourceforge.net/projects/min...l.exe/download) si on travaille avec Python 64bits. Et ne pas oublier de mettre à jour le PATH de Windows.
J'essaie ensuite un petit code console que j'ai appelé "pgcd01.py":
1 2 3 4 5 6 7 8
| def pgcd(a,b):
"""Plus Grand Commun Diviseur entre les 2 nombres entiers a et b
"""
while b!=0:
a, b = b, a%b
return a
print(pgcd(56,42)) |
En console, je me place dans le répertoire de ce code, et je fais:
nuitka3.exe --mingw64 pgcd01.py
Et ça marche: il crée "pgcd01.exe", accompagné d'un "python37.dll", et dont l'exécution donne bien le résultat:
Mais ce que je ne sais pas, c'est si cette compilation élimine complètement ou partiellement l'interprétation Python. Si elle est maintenue, ce n'est jamais qu'une version concurrente à pyinstaller ou cx_freeze. Mais ça vaudrait le coup de faire plus d'essais avec des programmes plus complexes, et de faire des tests de vitesses d'exécution.
[Edit] Réflexion faite, il n'est pas possible que l'interprétation Python ait disparu, parce que la traduction en C ou C++ nécessiterait l'ajout de renseignements dont Python n'a pas besoin, comme la déclaration des variables avec leur type (comme c'est le cas avec "cython"). Pour ma part, j'utilise "cython" uniquement pour les modules perso contenant des opérations critiques, puis "pyinstaller" (ou "cx_freeze") pour convertir le programme complet en "standalone" (.exe), et si nécessaire l'installeur "inno setup" pour que l'installation de l'exe sous Windows puisse se faire comme avec n'importe quel autre programme. Mais ça ne m'empêchera pas d'essayer "nuitka" sur des programmes plus gros et de comparer...
Partager