Differences between revisions 1 and 15 (spanning 14 versions)
Revision 1 as of 2010-06-19 13:42:19
Size: 1911
Editor: MichelBarret
Comment:
Revision 15 as of 2017-10-31 17:25:35
Size: 10401
Comment: Sync with English master
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-[[fr/DebianWiki/EditorGuide#traduction|Traduction(s)]] : aucune-~ ~-[[fr/DebianWiki/EditorGuide#traduction|Traduction(s)]] : [[Python|English]] - Français - [[it/Python|Italiano]] - [[ko/Python|한국어]]-~
Line 5: Line 5:
#Décrivez en une ou deux lignes le thème de votre article.
Line 7: Line 6:
## Si votre article est assez long, décommentez la table des matières {{https://www.python.org/static/community_logos/python-logo-master-v3-TM.png|Official Python logo|align="right"}}
Line 12: Line 11:
Python, un langage orienté objet de haut niveau, inclue 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. [[https://www.python.org|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.
Line 14: Line 13:
Ce paquet est un paquet de dépendance, qui dépend de la version par défaut de Python sur Debian (actuellement 2.5). Python est très facile à apprendre. On peut commencer par le [[DebianWomen/PythonTutorial|Tutoriel Python de DebianWomen]] ou le [[https://docs.python.org/tutorial/|tutoriel en ligne]] officiel si vous voulez commencer à programmer en Python. Vous pourriez aussi être intéressé par le [[https://wiki.python.org/moin/|wiki de Python]], la [[https://docs.python.org/fr/3/faq/|FAQ de Python]] et la [[https://www.python.org/doc/|documentation en ligne]].
Line 16: Line 15:
Ce très bon langage de script orienté objet est développé par Guido van Rossum (le dictateur bénévole du projet). 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'.
Line 18: Line 20:
Essayez-le. 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 ==

{{attachment:pydebian.png|Sources available: ssh://git.debian.org//git/git/python-modules/misc/python-debian-artwork.git|align="right"}}

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 [[http://neuro.debian.net/vm.html|NeuroDebian VM]] pour une approche initiale aisée)

Veuillez aussi vous référer aux pages [[Python/LibraryStyleGuide|Manuel de style d'empaquetage]] et [[Python/Packaging|Empaqueter Python]] du wiki.

À 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]].

=== Les mainteneurs ===

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

 * [[https://alioth.debian.org/projects/pkg-python|pkg-python]] maintient le paquet du compilateur et de l'interprétateur de Python.

 * [[Teams/PythonModulesTeam|L'équipe Debian Python Modules]] maintient quelques modules et extensions de Python .

 * [[Teams/PythonAppsPackagingTeam|L'équipe Python Applications Packaging]] maintient quelques applications Python.

Il y a aussi :
 * [[https://lists.debian.org/debian-python/recent|la liste de diffusion de debian-python]] avec toutes les discussions sur le développement
 * le canal [[fr/IRC|IRC]] de [[irc://irc.debian.org/debian-python|#debian-python]]
 * la [[Python/FAQ|FAQ]]

=== Versions de Python prises en charge ===
## We probably don't want to update the list manually, each time a
## new package enter $DEVELOPPMENT release of Debian... link to p.d.o
 * Debian [[fr/DebianStretch|Stretch]] contient Python 2.7.13 (par défaut), 3.5.3
 * Debian [[fr/DebianJessie|Jessie]] contient Python 2.7 (par défaut), 3.4
 * Debian [[fr/DebianWheezy|Wheezy]] contient Python 2.7 (par défaut), 3.2
 * 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/DebianTesting|Testing]] contient certaines versions [[DebianPkg:testing/python/python-all|2.x]] et [[DebianPkg:testing/python/python3-all|3.x]]
 * Debian [[fr/DebianUnstable|Unstable]] contient certaines versions [[DebianPkg:unstable/python/python-all|2.x]] et [[DebianPkg:unstable/python/python3-all|3.x]]
 * Debian [[fr/DebianExperimental|experimental]] peut aussi contenir des paquets (experimental !) [[DebianPkg:experimental/python/python-all|2.x]] et [[DebianPkg:experimental/python/python3-all|3.x]]

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]]
 * Distributions qui fournissent [[http://packages.debian.org/search?keywords=python3.0&searchon=names&exact=1&suite=all&section=all|python3.0]] (aucune)
 * 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 21: Line 73:
== Information ==
Un logiciel écris en langage Python est exécuté par l'interpréteur Python.
Il est généralement compilé en un bytecode indépendant de la plateforme pour améliorer les performances.
Python compile et écris des fichiers bytecode (*.pyc) à partir de fichiers sources (*.py) lors de l'exécution.
== La charte Python de Debian pour les développeurs de Python ==
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 26: Line 76:
Les logiciels écris en Python pur peut être distribué comme code source ou compilé en bytecode.
Ce dernier point est similaire à Java.
Vous pouvez poser toutes vos questions sur la liste de diffusion de debian-python@lists.debian.org.
Line 29: Line 78:
Unfortunately, compiled bytecode files are incompatible from Python version to Python version.
So Debian has several Python versions available.
Si vous voulez maintenir un paquet Python, vous devez savoir comment fonctionne le [[DebianDevelopment|développement de Debian]].
Line 32: Line 80:
Lisez DebianPython si vous voulais plus d'informations sur Python dans 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 [[https://www.ubuntu.com|Ubuntu]]).
Line 34: Line 83:
 * `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 [[https://www.python.org/download/|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 [[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é.
 * `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|multiarch]].
Line 35: Line 90:
=== Informations officielles ===
Beaucoup d'information sont accessible sur : http://www.python.org
== Bonnes pratiques ==
Line 38: Line 92:
Voici le wiki officiel de python : http://wiki.python.org/moin  * [[Python/LibraryStyleGuide|Règles pour l'empaquetage des bibliothèques Python]] (comprend l'ajout de la prise en compte de Python 3)
 * [[Python/AppStyleGuide|Règles pour l'empaquetage des applications Python]] (comprend la prise en charge de Python 3)
 * Il existe un [[http://packages.debian.org/search?keywords=python%20dbg|nombre croissant de paquets python-*-dbg]] pour les modules avec des extensions. Ils fournissent des extensions compilées avec les bibliothèques python*-dbg qui permettent de profiter de la [[http://docs.python.org/devguide/gdb.html|prise en charge de GDB pour le débogage des modules et extensions de Python]] en constante amélioration. '''Si vous compilez des modules d'extension, fournissez aussi les paquets -dbg correspondants'''
 * Convertir ses paquets à [[Python/TransitionToDHPython2|dh_python2]]
Line 40: Line 97:

=== Autre ===
[[http://wiki.mobbing-gegner.de/mywiki/?action=fullsearch&context=180&value=python|Liens et informations (Alle)]] en anglais et allemand


== Ressources Debian ==
Vous pouvez aussi lire :


 * ApachePython
 * HelpOnInstalling/ApacheWithModPython
 * [[Python3]]
== Voir aussi ==
 * [[Python/FAQ]]
 * Transitions actuelles
   * [[Python/StretchRoadmap|Feuille de route pour Python dans Stretch]]
 * Transitions passées
   * [[Python/27transition|Python 2.7]]
   * [[Python/JessieRoadmap|Feuille de route pour Python dans Jessie]]
 * [[IRC/debian-python/FAQ| FAQ du canal IRC #debian-python IRC]]
 * [[Python/Python3Packages|Quels paquets sont présents ou absents de Python3 ?]]

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 Stretch contient Python 2.7.13 (par défaut), 3.5.3

  • 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