[英]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.