Utöka och bädda in Pythons tolkprogram¶
Detta dokument beskriver hur man skriver moduler i C eller C++ för att utöka Python-tolken med nya moduler. Dessa moduler kan inte bara definiera nya funktioner utan även nya objekttyper och deras metoder. Dokumentet beskriver också hur man bäddar in Python-tolken i en annan applikation, för användning som ett tilläggsspråk. Slutligen visas hur man kompilerar och länkar tilläggsmoduler så att de kan laddas dynamiskt (vid körning) i tolken, om det underliggande operativsystemet stöder denna funktion.
Detta dokument förutsätter grundläggande kunskaper om Python. För en informell introduktion till språket, se Python-guiden. Referens till Python-språket ger en mer formell definition av språket. Pythons standardbibliotek dokumenterar de befintliga objekttyper, funktioner och moduler (både inbyggda och skrivna i Python) som ger språket dess breda användningsområde.
För en detaljerad beskrivning av hela Python/C API, se den separata Python/C API Referensmanual.
Rekommenderade verktyg från tredje part¶
Denna guide täcker endast de grundläggande verktygen för att skapa tillägg som tillhandahålls som en del av denna version av CPython. Vissa verktyg från tredje part erbjuder både enklare och mer sofistikerade metoder för att skapa C- och C++-tillägg för Python.
Skapa tillägg utan verktyg från tredje part¶
Det här avsnittet i handboken handlar om att skapa C- och C++-tillägg utan hjälp av verktyg från tredje part. Det är främst avsett för skapare av dessa verktyg, snarare än att vara ett rekommenderat sätt att skapa dina egna C-tillägg.
Se även
PEP 489 – Initialisering av flerfasig tilläggsmodul
- 1. Utöka Python med C eller C++
- 1.1. Ett enkelt exempel
- 1.2. Intermezzo: Fel och undantag
- 1.3. Tillbaka till exemplet
- 1.4. Modulens metodtabell och initialiseringsfunktion
- 1.5. Sammanställning och länkning
- 1.6. Anropa Python-funktioner från C
- 1.7. Extrahera parametrar i tilläggsfunktioner
- 1.8. Nyckelordsparametrar för tilläggsfunktioner
- 1.9. Att bygga godtyckliga värden
- 1.10. Referensräkningar
- 1.11. Skriva tillägg i C++
- 1.12. Tillhandahålla ett C API för en tilläggsmodul
- 2. Definiera typer av tillägg: Handledning
- 3. Definiera utökningstyper: Blandade ämnen
- 4. Bygga C- och C++-tillägg
- 5. Bygga C- och C++-tillägg i Windows
Inbäddning av CPython-körtiden i en större applikation¶
Ibland är det önskvärt att istället för att skapa ett tillägg som körs i Python-tolken som huvudapplikationen, istället bädda in CPython-körtiden i en större applikation. I detta avsnitt beskrivs några av de detaljer som krävs för att göra det på ett framgångsrikt sätt.