Comme je vous l’ai dit dernièrement, le packaging et les performances sont deux points qui méritent d’être améliorés en Python.
Nuitka est un projet qui vise à tacler ces deux problèmes d’un coup en compilant le code Python pour obtenir un exécutable autonome sous forme de code machine.
Plus besoin de s’inquiéter d’avoir la bonne version de Python installée. Plus besoin de se soucier d’avoir Python, ou une lib quelconque installée. Et en prime, le compilateur implémente le plus d’optimisations qu’il peut.
Nuitka est un projet en cours et son équipe est petite. Les progrès sont sérieux, mais lents. Histoire d’encourager tout ça, je fais un don de 50€ à l’auteur.
Pour donner à votre tour, c’est par ici.
Attention tu as écrit “nuikta” au deuxième paragraphe. Il faut dire que c’est un bon nom de merde aussi
@Biganon
Pour m’en souvenir je pense à des Inuits ;) et je le retiens bien comme cela.
Même si c’est encore en dev, c’est déjà exploitable, je l’utilise régulièrement.
Bon allez, je lui fais un don aussi…ça demande beaucoup de taff.
Bonsoir.
Connaissez-vous un bon tutoriel écrit ou vidéo sur nuitka ? La doc semble bien faite mais j’aimerais avoir un tour d’horizon rapide de ce projet.
On m’a demandé un article récement. Peut être qu’il y aura ça dans la semaine. Ou pas. Les humeurs, la lune, tout ça.
Mais du coup, on perd la portabilité (i.e. l’un des éléments les plus utiles d’un code python), non?
le but c’est d’avoir un paquet python pour la portabilité MAIS de pouvoir le packager pour que ce soit facile à utiliser en dehors de l’écosystème python, notamment sous Windows …
progères ???
@Alex : comme dit dineptus, tu ne supprime pas la portabilité de ton code. Il est toujours dispo et distribuable. Tu donne juste la possibilité supplémentaire de le distribuer sous une forme autonome.
@clem : bien vu.
Vu qu’on est sur le theme de la performance en python, vous pouvez visiter la gallerie de panda3d pour rêver un peu :
Dites moi qu’on jour on codera des jeux 3d en python !
mieux que py2exe ?
C’est quoi la différence avec cx_freeze et compagnie ? Je vois bien qu’il s’agit ici de faire du code natif et pas de packager un interpréteur indépendant avec du code à côté mais en pratique ?
J ‘imagine que Nuitka va surtout être utilisé pour compiler des logiciels en ligne de commandes, ou avec une interface graphique type PyQT, Pygame, etc.
Mais en ce moment, j’utilise des pages HTML avec un doigt de JS servies par Flask, en guise d’interface graphique.
Donc j’ai un repertoire template, un static subdivisé en images,sons,JS ainsi qu’un fichier sqlite à coté de mon main.py
Est-ce que ça pourra se compiler de la même manières que les exemples pré-cités ?
@TD : le resultat est similaire, le chemin pour y arriver est différent. En prime, on gagne en vitesse d’exécution et on a pas le syndrome du zip qui contient tout.
@buffalo974 : oui
Et pour les applications smartphone sous Kivy ?
@Sam : OK mais du coup est-ce qu’il y a des cas d’utilisation où on préfèrerait cx_freeze (ou équivalents) à nuitka) ? À première vue, nuitka n’a que des avantages. Enfin, en fait d’avantages, il ne veut pas compiler mon Hello World avec l’option –standalone.
@buffalo974: faudrait porter nuitka sur android d’abord.
@TD: pour l’instant il faut choisir la solution qui marche pour soi, puisqu’aucun des outils n’est considéré comme stable.