Rozszerzony i wbudowany interpreter Python¶
Ten dokument opisuje jak pisać moduły w C lub C++ do rozszerzania Python Interpreter o nowe moduły. Te moduły mogą nie tylko zawierać nowe funkcje, ale też nowe obiekty i ich metody. Dokument również zawiera opis jak wbudować interpreter Pyhona do innej aplikacji w celu rozszerzenia języka. Podsumowując pokażemy ci jak kompilować i linkować rozszerzone moduły, tak że mogą być załadowane dynamicznie w danej chwili przez interpreter, o ile dany system operacyjny wspiera tą funkcję.
Ten dokument zawiera podstawową wiedzę o Pythonie. Z nieformalnym wstępem do języka zapoznaj się z Python Tutorial. Dokumentacja języka Python zawiera bardziej formalny opis języka. Dokumenty Biblioteka standardowa Pythona zawierają istniejące typy obiektów, funkcje i moduły (zarówno wbudowane jak i napisane w Pythonie) dające językowi duże pole zastosowań.
Aby zapoznać się z dokładną instrukcją dla Python/C API, spójrz na Python/C API Podręcznik.
Rekomendowane zewnętrzne narzędzia.¶
Ten przewodnik obejmuje jedynie podstawowe narzędzia do tworzenia rozszerzeń w ramach tej wersji CPythona. Narzędzia innych firm, takie jak Cython, cffi, SWIG i Numba oferują zarówno prostsze, jak i bardziej wyrafinowane podejścia do tworzenia rozszerzeń C i C++ dla Python.
Zobacz także
- Pakiety Pythona Podręcznik Użytkownika: Rozszerzenia Binarne <https://packaging.python.org/guides/packaging-binary-extensions/
Przewodnik Użytkownika Python Packaging nie tylko obejmuje kilka dostępnych narzędzi, które upraszczają tworzenie rozszerzeń binarnych, ale także omawia różne powody, dla których tworzenie modułu rozszerzeń może być pożądane w pierwszej kolejności.
Tworzenie rozszerzeń poprzez narzędzia zewnętrzne.¶
Ta część przewodnika obejmuje tworzenie rozszerzeń C i C++ bez pomocy narzędzi innych firm. Jest przeznaczony przede wszystkim dla twórców tych narzędzi, a nie jest zalecanym sposobem tworzenia własnych rozszerzeń C.
- 1. Rozszerzanie Pythona za pomocą C lub C++
- 1.1. Prosty przykład
- 1.2. Intermezzo: Błędy i Wyjątki
- 1.3. Z powrotem do Przykładu
- 1.4. Zadanie zainicjowania i tabela sposobów postępowania modułu.
- 1.5. Kompilacja i łączenie
- 1.6. Wywoływanie zadań języka pytonowskiego z C
- 1.7. Wydobywanie parametrów w zadaniach rozszerzających
- 1.8. Parametry kluczowe dla zadań rozszerzających
- 1.9. Budowanie dowolnych wartości
- 1.10. Liczby odniesień
- 1.11. Pisanie rozszerzeń w C++
- 1.12. Dostarczanie sprzęgu programowania aplikacji (API) języka C dla modułu rozszerzającego
- 2. Defining Extension Types: Tutorial
- 3. Defining Extension Types: Assorted Topics
- 4. Building C and C++ Extensions
- 5. Tworzenie rozszerzeń C i C++ w Windowsie
Wbudowywanie Cpython runtime w większą aplikację.¶
Czasami zamiast tworzyć rozszerzenie, które działa wewnątrz interpretera Pythona jako głównej aplikacji, pożądane jest osadzenie środowiska wykonawczego CPython w większej aplikacji. W tej sekcji omówiono niektóre szczegóły związane z pomyślnym wykonaniem tego zadania.