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.¶
This guide only covers the basic tools for creating extensions provided as part of this version of CPython. Third party tools like Cython, cffi, SWIG and Numba offer both simpler and more sophisticated approaches to creating C and C++ extensions for 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.