Bonjour
Est-ce que quelqu'un connait cet outil ?
https://github.com/Nuitka/
Cordialement
Version imprimable
Bonjour
Est-ce que quelqu'un connait cet outil ?
https://github.com/Nuitka/
Cordialement
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.Code:pip install -U nuitka
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":
En console, je me place dans le répertoire de ce code, et je fais:Code:
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))
Et ça marche: il crée "pgcd01.exe", accompagné d'un "python37.dll", et dont l'exécution donne bien le résultat:Code:nuitka3.exe --mingw64 pgcd01.py
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.Code:14
[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...