指定cython输出文件
问题内容:
似乎默认情况下,从distutils.core中将cmdclass设置为build_ext的安装程序编译当前工作目录中的cpp或c文件。有没有一种方法可以确定将生成的c代码写入何处?否则,存储库中会堆满生成的代码。
例如,此文件setup.py会将文件example.c写入当前工作目录:
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize("example.pyx"))
问题答案:
您可以将选项传递build_dir="directory name"
给Cythonize
# rest of file as before
setup(
ext_modules = cythonize("example.pyx",
build_dir="build"))
上面的代码会将生成的c文件放在目录“ build”中(这很有意义,因为默认情况下distutils在构建时在其中放置临时对象文件,依此类推)。
我原来的答案working
没有build_dir
。感谢@ArthurTacca指出这似乎不再正确。