Kaa

Devinez qui est dispo dans vos dépôts préférés ?

Les features de la version 3.6 de Python (à venir pour certaines) : https://www.python.org/dev/peps/pep-0494/#features-for-3-6

Teaser

On note quand même les f-string (PEP 498 , les underscores dans les nombres littéraux (PEP 515), et les générateurs / comprehension-list en asynchrone :D (PEP 525 et PEP 530).

Aussi, et c'est le truc hyper cool : suite à la grosse avancée technique proposée par pypy (le compilateur python->C) concernant l'implémentation des dictionnaires, ces derniers sont plus efficaces, plus économes. Side-effect de l'implémentation: l'ordre d'insertion est conservé. (du moins, au dernières nouvelles). C'est assez bof pour le côté pédagogique, mais ça reste un side effect. (heureusement !)

Le truc, c'est qu'une feature apparaît : l'ordre des keywords arguments est conservé (PEP 468). Perso ça me gêne que ce soit une nouvelle feature de 3.6, car ça sous-entend qu'elle doit être conservée pour les prochaines versions... Qui dit que la prochaine implémentation révolutionnaire des dictionnaires ne va pas casser la conservation de l'ordre d'insertion ?

Bref, voilà, vous pouvez officiellement jouer avec la 3.6 !

Compilation

Python 3.6 risque de ne pas être présent dans les dépôts avant un moment pour les distributions qui ne sont pas en rolling release (cycle de développement continu, opposé au développement par version).

La compilation est heureusement toujours possible et plutôt facile.

Pour les distributions de la galaxie Debian, installez les dépendances suivantes:

apt-get install libsqlite3-dev libreadline6-dev

Si vous voulez bénéficier de tkinter (nécessaire pour matplotlib et pandas), installez également:

apt-get instal tk-dev

Téléchargez les sources ici: Python: Downloads.

Décompressez l'archive puis compilez:

tar xvf Python-3.6.0.tar.xz
cd Python-3.6.0
./configure --enable-optimizations
make -j
sudo make install

L'interpréteur est alors installé ici: /usr/local/bin/python3.6

PS: En cas d'erreur bizarre du genre build_all_generate_profile' failed due à un segmentation fault lors du processus de compilation, faites juste un make (sans multiprocessus).

Liens