如何在自己的 Python 包中组合自己的 C 扩展

How to combine own C-extension in own Python Package

我创建了自己的 Python 包,我想在其中添加自己的 Python C 扩展,因为在 Python 包中我导入了这个 C-Ext。 我想从本地文件而不是 pypi 安装它。 我有 C Extension 的 dist 文件,我想知道如何正确地做它。我假设我应该在 setup.py 中进行一些配置。 也许像 Extension 对象,我可以在其中定义自己的包源?

setuptools.setup(
    ...
    packages=[Extension('ownpackage', '/package.tar.gz')],
    ...
)

过了一会儿我找到了答案。只需将源文件添加到项目目录和 setup.py

Extension("c_ext", ["module/c_exts/main.c", ...]),

然后构建模块。