将python模块Cython化到不同的目标目录

时间:2015-07-10 15:51:46

标签: python cython

我正在尝试对某些python模块进行cython化(在Windows上),并希望将生成的.c文件存储在不同的目录中。

我试过这样的事情:

from Cython.Build import cythonize
module_list = cythonize(r'C:\myproject\module.py', 
                        force=True,
                        build_dir=r'C:\myproject\compiled_modules')

编译已完成,但文件module.c是在C:\ myproject中创建的,而不是按预期在C:\ myproject \ compiled_modules中创建的。我做错了什么?

1 个答案:

答案 0 :(得分:2)

我不确定cythonize功能是否可以强制执行此操作。我只想使用命令行:

/path/to/cython yourmod.py -o compiled_modules/yourmod.c

编辑:

可以使用子进程模块从python脚本调用此命令:

import subprocess
subprocess.check_call(["/path/to/cython", "yourmod.py", "-o", "compiled_modules/yourmod.c"])

编辑2:

根据this Sage developer,cython不支持重新定位c / cpp文件,因此它看起来像是从命令行编译或使用正常配置,然后移动c / cpp文件是你唯一的选择