Extension et intégration de l'interpréteur Python¶
Ce document décrit comment écrire des modules en C ou C++ pour étendre l'interpréteur Python à de nouveaux modules. En plus de définir de nouvelles fonctions, ces modules peuvent définir de nouveaux types d'objets ainsi que leur méthodes. Ce document explique aussi comment intégrer l'interpréteur Python dans une autre application, pour être utilisé comme langage d'extension. Enfin, ce document montre comment compiler et lier les modules d'extension pour qu'ils puissent être chargés dynamiquement (à l'exécution) dans l'interpréteur, si le système d'exploitation sous-jacent supporte cette fonctionnalité.
This document assumes basic knowledge about C and Python. For an informal introduction to Python, see Le tutoriel Python. La référence du langage Python gives a more formal definition of the language. Python built-ins reference documents the built-in functions and object types, and The Python standard library documents the modules (both built-in and written in Python) that give the language its wide application range.
Pour une description dans sa totalité de l'API Python/C, voir Python/C API reference manual.
Les outils tiers recommandés¶
This guide only covers the basic tools for creating extensions provided as part of this version of CPython. Some third party tools offer both simpler and more sophisticated approaches to creating C and C++ extensions for Python.
Création d'extensions sans outils tiers¶
Cette section du guide couvre la création d'extensions C et C++ sans l'utilisation d'outils tiers. Cette section est destinée aux créateurs de ces outils, plus que d'être une méthode recommandée pour créer votre propre extension C.
Voir aussi
PEP 489 -- Multi-phase extension module initialization
- 1. Étendre Python en C ou C++
- 1.1. Un exemple simple
- 1.2. Intermezzo : les erreurs et les exceptions
- 1.3. Retour vers l'exemple
- 1.4. La fonction d'initialisation et le tableau des méthodes du module
- 1.5. Compilation et liaison
- 1.6. Appeler des fonctions Python en C
- 1.7. Extraire des paramètres dans des fonctions d'extension
- 1.8. Paramètres nommés pour des fonctions d'extension
- 1.9. Créer des valeurs arbitraires
- 1.10. Compteurs de références
- 1.11. Écrire des extensions en C++
- 1.12. Fournir une API en langage C pour un module d'extension
- 2. Tutoriel : définir des types dans des extensions
- 3. Définir les types d'extension : divers sujets
- 4. Construire des extensions C et C++
- 5. Construire des extensions C et C++ sur Windows
Intégrer l'interpréteur CPython dans une plus grande application¶
Parfois, plutôt que de créer une extension qui s'exécute dans l'interpréteur Python comme application principale, il est préférable d'intégrer l'interpréteur Python dans une application plus large. Cette section donne quelques informations nécessaires au succès de cette opération.