如何自动编译python/c扩展?
我写了一个Python和C语言结合的扩展文件,叫做lda_model.c。
然后我添加了一个setup.py文件:
from setuptools import setup, Extension
modules = [Extension('c_lda_model', sources=["lda_model.c"])]
setup(ext_modules=modules)
现在我需要通过下面的方式来编译这个C代码:
python setup.py build
在运行调用这个C代码的Python代码之前。
有没有什么方法可以在运行Python代码的时候,自动编译这个调用的C扩展呢?
1 个回答
2
用标准的方法写扩展是做不到的,这就是你现在所做的事情。
不过,还有其他几种方法可以用原生代码扩展Python,这些方法是在执行时进行编译的。
其中一个例子是Weave,它是Scipy的一部分。如果你去找的话,还有其他的方法。