不要在生成的C文件中包含Cython元数据

时间:2017-04-19 14:17:18

标签: cython

从Cython代码生成C文件时,cython编译器会添加有关所用版本的元数据和原始Cython文件的绝对文件路径。这看起来像这样:

/* BEGIN: Cython Metadata
{
    "distutils": {
        "depends": [
            "/home/me/miniconda3/envs/package/lib/python3.4/site-packages/numpy/core/include/numpy/arrayobject.h",
            "/home/me/miniconda3/envs/package/lib/python3.4/site-packages/numpy/core/include/numpy/ufuncobject.h"
        ],
        "extra_compile_args": [
            "-O3"
        ],
        "include_dirs": [
            "/home/me/miniconda3/envs/package/lib/python3.4/site-packages/numpy/core/include"
        ]
    }
}
END: Cython Metadata */

# code removed for (relative) brevity

/* "../../.local/lib/python3.4/site-packages/Cython-0.23.4-py3.4-linux-x86_64.egg/Cython/Includes/numpy/__init__.pxd":728
* ctypedef npy_int16      int16_t
* ctypedef npy_int32      int32_t
* ctypedef npy_int64      int64_t             # <<<<<<<<<<<<<<
* #ctypedef npy_int96      int96_t
* #ctypedef npy_int128     int128_t
*/
typedef npy_int64 __pyx_t_5numpy_int64_t;

当我与几个开发人员共享一个git存储库并且我们提交生成的C文件时,这会在git日志中创建大量无用的聊天。即使Cython代码中的微小更改也会在整个相应的C文件中创建更改。

有没有办法禁用此元数据的写入?我找到了一种通过设置编译器选项来删除文档字符串(as discussed here)的方法,但这并没有解决我的问题。我查看了其他编译​​器指令和选项,但没有发现任何可行的技巧。

0 个答案:

没有答案