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 Reference Manual.
Rekomendowane zewnętrzne narzędzia.¶
Ten przewodnik obejmuje tylko podstawowe narzędzia do tworzenia rozszerzeń dostarczane jako część aktualnej wersji CPython. Narzędzia innych firm, takie jak ” Cython <http://cython.org/>»_, « Cffi <https://cffi.readthedocs.io>`_,» SWIG <http://www.swig.org > ` _ i «Numba <https://numba.pydata.org / >» _ oferują zarówno prostsze, jak i bardziej wyrafinowane podejście do tworzenia rozszerzeń C i C++ dla Pythona.
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 języka pytonowskiego 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 runtime Cpython 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.