我正在尝试对某些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中创建的。我做错了什么?
答案 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文件是你唯一的选择