扩展和嵌入 Python 解释器¶
This document describes how to write modules in C or C++ to extend the Python interpreter with new modules. Those modules can not only define new functions but also new object types and their methods. The document also describes how to embed the Python interpreter in another application, for use as an extension language. Finally, it shows how to compile and link extension modules so that they can be loaded dynamically (at run time) into the interpreter, if the underlying operating system supports this feature.
This document assumes basic knowledge about Python. For an informal introduction to the language, see Python 教程. Python 语言参考手册 gives a more formal definition of the language. Python 标准库 documents the existing object types, functions and modules (both built-in and written in Python) that give the language its wide application range.
关于整个 Python/C API 的详细介绍,请参阅独立的 Python/C API 参考手册。
推荐的第三方工具¶
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.
Creating extensions without third party tools¶
本指南的这一部分包括在没有第三方工具帮助的情况下创建 C 和 C++ 扩展。它主要用于这些工具的创建者,而不是建议你创建自己的 C 扩展的方法。
参见
PEP 489 -- Multi-phase extension module initialization
在更大的应用程序中嵌入 CPython 运行时¶
有时,不是要创建在 Python 解释器中作为主应用程序运行的扩展,而是希望将 CPython 运行时嵌入到更大的应用程序中。 本节介绍了成功完成此操作所涉及的一些细节。