Differences between revisions 11 and 12
Revision 11 as of 2015-04-19 09:13:58
Size: 9872
Comment: Sync with English master
Revision 12 as of 2017-02-11 17:15:07
Size: 10281
Comment: Sync with English master
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
{{http://www.python.org/community/logos/python-logo-master-v3-TM.png|Official Python logo|align="right"}} {{https://www.python.org/static/community_logos/python-logo-master-v3-TM.png|Official Python logo|align="right"}}
Line 31: Line 31:
À partir du 9 octobre 2015, tous les paquets sont maintenus dans Git. Voici la politique de l'équipe pour [[Python/GitPackaging|l'utilisation de git par l'équipe d'empaquetage]].
Line 49: Line 51:
 * Debian [[fr/DebianJessie|Jessie]] contient Python 2.7 (par défaut), 3.4
Line 50: Line 53:
 * Debian [[fr/DebianSqueeze|Squeeze]] contient Python 2.5, 2.6 (par défaut), 3.1.
 * Debian [[fr/DebianLenny|Lenny]] contient Python 2.4 et 2.5 (par défaut).
 * Debian [[fr/DebianSqueeze|Squeeze]] contient Python 2.5, 2.6 (par défaut), 3.1
 * Debian [[fr/DebianLenny|Lenny]] contient Python 2.4 et 2.5 (par défaut)
Line 56: Line 59:
Ces liens donnent la liste des distributions) qui fournissent telle version de Python:
 * Distributions qui fournissent [[http://packages.debian.org/search?keywords=python3.4&searchon=names&exact=1&suite=all&section=all|python3.4]]
 * Distributions qui fournissent [[http://packages.debian.org/search?keywords=python3.3&searchon=names&exact=1&suite=all&section=all|python3.3]]
 * Distributions qui fournissent [[http://packages.debian.org/search?keywords=python3.2&searchon=names&exact=1&suite=all&section=all|python3.2]]
 * Distributions qui fournissent [[http://packages.debian.org/search?keywords=python3.1&searchon=names&exact=1&suite=all&section=all|python3.1]]
Ces liens donnent la liste des distributions) qui fournissent telle version de Python :
 * Distributions qui fournissent [[https://packages.debian.org/search?keywords=python3.5&searchon=names&exact=1&suite=all&section=all|python3.5]]
 * Distributions qui fournissent [[https://packages.debian.org/search?keywords=python3.
4&searchon=names&exact=1&suite=all&section=all|python3.4]]
 * Distributions qui fournissent [[https://packages.debian.org/search?keywords=python3.3&searchon=names&exact=1&suite=all&section=all|python3.3]]
 * Distributions qui fournissent [[https://packages.debian.org/search?keywords=python3.2&searchon=names&exact=1&suite=all&section=all|python3.2]]
 * Distributions qui fournissent [[https://packages.debian.org/search?keywords=python3.1&searchon=names&exact=1&suite=all&section=all|python3.1]]
Line 62: Line 66:
 * Distributions qui fournissent [[http://packages.debian.org/search?keywords=python2.7&searchon=names&exact=1&suite=all&section=all|python2.7]]
 * Distributions qui fournissent [[http://packages.debian.org/search?keywords=python2.6&searchon=names&exact=1&suite=all&section=all|python2.6]]
 * Distributions qui fournissent [[http://packages.debian.org/search?keywords=python2.5&searchon=names&exact=1&suite=all&section=all|python2.5]]
 * Distributions qui fournissent [[http://packages.debian.org/search?keywords=python2.4&searchon=names&exact=1&suite=all&section=all|python2.4]]
 * Distributions qui fournissent [[https://packages.debian.org/search?keywords=python2.7&searchon=names&exact=1&suite=all&section=all|python2.7]]
 * Distributions qui fournissent [[https://packages.debian.org/search?keywords=python2.6&searchon=names&exact=1&suite=all&section=all|python2.6]]
 * Distributions qui fournissent [[https://packages.debian.org/search?keywords=python2.5&searchon=names&exact=1&suite=all&section=all|python2.5]] (aucune)
 * Distributions qui fournissent [[https://packages.debian.org/search?keywords=python2.4&searchon=names&exact=1&suite=all&section=all|python2.4]] (aucune)
Line 69: Line 73:
La [[http://www.debian.org/doc/packaging-manuals/python-policy/|charte Python de Debian]] décrit les conventions pour empaqueter et distribuer le code de Python dans Debian. La [[https://www.debian.org/doc/packaging-manuals/python-policy/|charte Python de Debian]] décrit les conventions pour empaqueter et distribuer le code de Python dans Debian.
Line 76: Line 80:
Les distributions de Debian modifient Python d'une manière qu'il est important de connaître. Bien sûr, partout où c'est possible, on essaye de minimiser les déviations par rapport à la version originale mais voici une énumération des changements qu'on peut rencontrer sur un système Debian (et ses dérivés, comme [[http://www.ubuntu.com|Ubuntu]]). Les distributions de Debian modifient Python d'une manière qu'il est important de connaître. Bien sûr, partout où c'est possible, on essaye de minimiser les déviations par rapport à la version originale mais voici une énumération des changements qu'on peut rencontrer sur un système Debian (et ses dérivés, comme [[https://www.ubuntu.com|Ubuntu]]).
Line 80: Line 84:
 * Avec Debian 7 (Wheezy), le paquet `python-setuptools` installe le fork [[http://packages.python.org/distribute/|Distribute]] à la place du [[http://peak.telecommunity.com/|setuptools]] standard. Avec Jessie, on retourne au projet [[https://pypi.python.org/pypi/setuptools|setuptools unifié]].
 * Dans Wheezy aussi, le paquet `python-virtualenv` utilise aussi `Distribute` par défaut, mais peut aussi activer le `setuptools` classique avec un paramètre optionnel. Comme ci-dessus, dans Jessie, c'est le paquet setuptools unifié qui sera utilisé.
 * Avec Debian 7 (Wheezy), le paquet `python-setuptools` installe le fork [[http://packages.python.org/distribute/|Distribute]] à la place du [[http://peak.telecommunity.com/|setuptools]] standard. Avec Jessie, on est retourné au projet [[https://pypi.python.org/pypi/setuptools|setuptools unifié]].
 * Dans Debian 7 (Wheezy) aussi, le paquet `python-virtualenv` utilise aussi `Distribute` par défaut, mais peut aussi activer le `setuptools` classique avec un paramètre optionnel. Comme ci-dessus, dans Debian 8 (Jessie), c'est le paquet setuptools unifié qui sera utilisé.
Line 94: Line 98:
 * Transitions
   * [[Python/GitPackaging|Utilisation de git par l'équipe d'empaquetage]] ('''proposition''')
 * Transitions actuelles
   * [[Python/StretchRoadmap|Feuille de route pour Python dans Stretch]]
 * Transitions passées
   * [[Python/27transition|Python 2.7]]
Line 97: Line 103:
   * [[Python/StretchRoadmap|Feuille de route pour Python dans Stretch]]
   * [[Python/27transition|Python 2.7]]

Traduction(s) : English - Français - Italiano


Official Python logo

Introduction

Python, un langage interactif orienté objet de haut niveau, inclut une bibliothèque étendue de classe avec beaucoup de facilités pour la programmation réseau, l'administration système, les sons et les graphiques. Debian a toujours fourni au moins deux versions de Python, la dernière version stable de Python 2 et la dernière version stable de Python3.. Python est une partie importante de l'écosystème Debian.

Python est très facile à apprendre. On peut commencer par le Tutoriel Python de DebianWomen ou le tutoriel en ligne officiel si vous voulez commencer à programmer en Python. Vous pourriez aussi être intéressé par le wiki de Python, la FAQ de Python et la documentation en ligne.

Un logiciel écrit en langage Python est exécuté par l'interpréteur Python. Il est généralement compilé en un bytecode indépendant de la plate-forme pour améliorer les performances. Python compile et écrit des fichiers bytecode '*.pyc' à partir de fichiers sources '*.py'. Des modules d'extension peuvent être écrits en C et sont distribuées sous la forme de bibliothèques partagées '.so'.

Les logiciels écrits en Python pur peuvent donc être distribués en tant que fichiers sources ou compilés en bytecode. Ce dernier point étant similaire à Java.

Python dans Debian

Sources available: ssh://git.debian.org//git/git/python-modules/misc/python-debian-artwork.git

Comme tel, avec des centaines de modules de Python et les multiples versions de Python pris en charge, Debian est la principale "distribution intégrée de Python ". Les utilisateurs d'autres systèmes d'exploitation (par exemple Windows ou OS X) peuvent aussi bénéficier de cet effort d'intégration par le moyen de la virtualisation (voir par exemple la page de NeuroDebian VM pour une approche initiale aisée)

Veuillez aussi vous référer aux pages Manuel de style d'empaquetage et Empaqueter Python du wiki.

À partir du 9 octobre 2015, tous les paquets sont maintenus dans Git. Voici la politique de l'équipe pour l'utilisation de git par l'équipe d'empaquetage.

Les mainteneurs

Dans le projet Debian, les paquets de Python sont maintenus par des développeurs individuels et trois équipes principales :

Il y a aussi :

Versions de Python prises en charge

  • Debian Jessie contient Python 2.7 (par défaut), 3.4

  • Debian Wheezy contient Python 2.7 (par défaut), 3.2

  • Debian Squeeze contient Python 2.5, 2.6 (par défaut), 3.1

  • Debian Lenny contient Python 2.4 et 2.5 (par défaut)

  • Debian Testing contient certaines versions 2.x et 3.x

  • Debian Unstable contient certaines versions 2.x et 3.x

  • Debian experimental peut aussi contenir des paquets (experimental !) 2.x et 3.x

Ces liens donnent la liste des distributions) qui fournissent telle version de Python :

La charte Python de Debian pour les développeurs de Python

La charte Python de Debian décrit les conventions pour empaqueter et distribuer le code de Python dans Debian.

Vous pouvez poser toutes vos questions sur la liste de diffusion de debian-python@lists.debian.org.

Si vous voulez maintenir un paquet Python, vous devez savoir comment fonctionne le développement de Debian.

Déviations de la version originale

Les distributions de Debian modifient Python d'une manière qu'il est important de connaître. Bien sûr, partout où c'est possible, on essaye de minimiser les déviations par rapport à la version originale mais voici une énumération des changements qu'on peut rencontrer sur un système Debian (et ses dérivés, comme Ubuntu).

  • dist-packages à la place de site-packages. Les logiciels Python de tierce partie installés à partir de Debian vont dans dist-packages, pas dans site-packages. C'est fait pour réduire les conflits entre le Python du système et les éléments compilés à partir des sources de Python que vous pourriez installer manuellement.

  • Les modules du profil standard et de pstats ne sont pas inclus en raison de clauses restrictives de redistribution dans leur licence qui ne sont pas conformes au contrat social de Debian. cProfile et hotshot sont néanmoins inclus.
  • Avec Debian 7 (Wheezy), le paquet python-setuptools installe le fork Distribute à la place du setuptools standard. Avec Jessie, on est retourné au projet setuptools unifié.

  • Dans Debian 7 (Wheezy) aussi, le paquet python-virtualenv utilise aussi Distribute par défaut, mais peut aussi activer le setuptools classique avec un paramètre optionnel. Comme ci-dessus, dans Debian 8 (Jessie), c'est le paquet setuptools unifié qui sera utilisé.

  • distutils localise les fichiers d'installation des scripts dans /usr/local/ et non dans sys.prefix (qui est normalement /usr/). C'est parce que /usr/ est réservé aux fichiers installés par les paquets Debian. Notez que /usr/local/lib/pythonX.Y/dist-packages est dans le sys.path ainsi les modules qui ne sont pas installés par des paquets Debian sont quand même accessible pour le Python du système. Des outils comme debhelper passent le paramètre --install-layout=deb au script de configuration lors de la compilation d'un paquet Debian de telle sorte qu'il installe ses fichiers dans /usr/ et non dans /usr/local/.

  • Python 2.7, 3.3 et 3.4 sont prêts pour ?multiarch.

Bonnes pratiques

Voir aussi