指定cython输出文件

发布于 2021-01-29 16:31:12

似乎默认情况下,从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"))
关注者
0
被浏览
47
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以将选项传递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指出这似乎不再正确。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看