Developpez.com

Le Club des Développeurs et IT Pro

Python 3.3 est officiellement arrivé

Avec quatre nouvelles librairies

Le 2012-10-01 16:18:19, par Gordon Fowler, Expert éminent sénior
C'est fait. La version 3.3 de Python est sortie officiellement.

Côté nouveaux modules, on voit apparaître :

faulthandler, qui permet de récupérer explicitement le retraça Python, après une faute, un timeout, ou après un signal utilisateur.

ipaddress est un nouveau module, qui fournit diverses fonctionnalités, de création et de manipulation des adresses et des réseaux IPv4 et IPv6. Des fonctions et des classes dans ce module permettent une manipulation de plusieurs opérations sur les adresses IP, telles que la comparaison entre deux hôtes pour vérifier s'ils sont dans le même sous-réseau, ou itérer sur tous les hôtes d'un sous-réseau particulier.

lzma est un module de compression et de décompression de données utilisant l'algorithme de compression LZMA. En prime, il inclut une interface de fichier permettant la prise en charge des .xz et de l'ancien format de fichier .lzma utilisé par l'outil xz, ainsi que des flux de compression bruts.

venv est un module qui s'inspire du célèbre outil virtualenv, et permet la prise en charge et la création d'environnements virtuels, avec leurs propres répertoires, pouvant être isolés des répertoires du site. Ainsi, chaque environnement virtuel dispose de son propre binaire Python, et peut avoir un ensemble propre de paquets Python installés indépendamment des répertoires site.

Télécharger Python 3.3 pour Linux, Windows et OSX
  Discussion forum
10 commentaires
  • clavier12AZQSWX
    Membre éclairé
    Cette nuit j'ai rêvé que le java était officiellement remplacé par python chez tous les éditeurs logiciels, et toutes les communautés du monde.
    J'ai rêvé.
  • J'apprécie beaucoup le langage Python et j'ai déjà réalisé quelques applications assez intéressantes avec (notamment une gestion de stocks qui tourne via un serveur HTTP lui même écrit en Python et peut aussi utiliser le client en wxPython). J'ai voulu réellement fournir une véritable application dans ce langage car j'ai beaucoup misé sur Python depuis maintenant bientôt 10 ans.

    Mais un gros inconvénient est que les versions sont binairement incompatibles. Or il y a de nombreux projets, bibliothèques supplémentaires etc qui n'ont toujours pas migré en 3.x. Et c'est là aussi qu'il faudrait faire des efforts. A chaque version majeure, c'est une débâcle de recherches pour voir quelles applications sont impactées. Je pense que Python 2.7 restera un bon bout de temps la version définitive (et d'ailleurs, c'est la dernière version 2.x de Python).
  • Joker-eph
    Membre confirmé
    Envoyé par Squeak

    Mais un gros inconvénient est que les versions sont binairement incompatibles.
    Le problème est surtout une incompatibilité au niveau source non ?
    Que veux-tu dire par binairement incompatibles ?
  • Freem
    Membre émérite
    Au "niveau source", on parle d'API.
    Au "niveau binaire", on parle d'ABI.

    Une ABI incompatible signifie par exemple que l'on ne peut pas remplacer (j'invente) libwxwidgets28 par libwxwidgets29 sans relinker les applications qui en dépendent.
    Cela dis, pour une version majeure, c'est plus que normal... Habituellement, les seules choses qui garantissent de ne pas modifier l'ABI, ce sont les correctifs de bugs: même les versions mineures ont souvent une ABI incompatible, en tout cas pour ce qui est des langages C et C++.
  • wiztricks
    Expert éminent sénior
    Salut,

    Envoyé par Squeak
    Mais un gros inconvénient est que les versions sont binairement incompatibles.
    Juste pour information.

    3.2 vient avec une ABI qui permet de mieux gérer la dépendance des bibliothèques externe avec la distribution de Python. En gros, après avoir compilé avec 3.2, on pourra réutiliser la bibliothèque sous 3.3, 3.4,...
    voir le PEP 384

    Cela ne résout pas le problème de ceux qui sont coincés en 2.7 parce que leur biblio. n'ont toujours pas été portées en 3.x (faute de bras?) mais cela permettra de passer plus facilement aux versions supérieures de Python.

    - W