繁体   English   中英

Cython C++ 缓存 - 如何清除

[英]Cython C++ Cache - How to Clear

我在远程服务器上运行 Jupyter notebook。 该笔记本的一部分调用了一个 Cython .pyx文件cython_file ,其中包含一个名为cpp_function的 c++ function 定义,并从笔记本中调用,如下所示:

from clibs.cython_file import cpp_function

.pyx文件中,我调用 c++ header 文件cpp_file.h ,如下所示:

cdef extern from "/home/user/cpp_file.h":

在这个 header 文件中,我有 cython 中定义的 function,为了论证,它只是一个简单的逻辑 function。

我的问题是这样的; 有时当我更改.h c++ 文件并重新启动笔记本 kernel 并重新运行代码时,没有任何变化。 它仍然使用旧版本的.h文件。 好像它被缓存在某个地方。

在重新启动 kernel 无济于事之前,我已经删除了所有.pyxbldc.pyc文件。

我的.pyxbld文件如下所示:

def make_ext(modname, pyxfilename):
    from distutils.extension import Extension
    return Extension(name=modname,
                     sources=[pyxfilename], extra_compile_args=['-fopenmp', '-w'], extra_link_args=['-fopenmp'], language='c++')

关于如何阻止缓存 c++ 文件的任何想法?!

!rm -rf ~/.cache/ipython/cython

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM