当前位置:  开发笔记 > 编程语言 > 正文

指定cython输出文件

如何解决《指定cython输出文件》经验,为你挑选了2个好方法。

似乎默认设置来自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"))

DavidW.. 15

您可以将选项传递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指出那似乎不再合适.



1> DavidW..:

您可以将选项传递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指出那似乎不再合适.



2> Michael WS..:

初始化扩展后,可以将参数设置为在临时目录中创建c.

 module  = Extension("temp", "temp.pyx")
 module.cython_c_in_temp = True 

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有