Python 这个导入函数是什么?

Python 这个导入函数是什么?,python,numpy,cython,Python,Numpy,Cython,当编译一堆Cython生成的与Numpy接口的C文件时,我得到警告: /usr/lib/pymodules/python2.7/numpy/core/include/numpy/__ufunc_api.h:226:1: warning: ‘_import_umath’ defined but not used [-Wunused-function] 我似乎无法摆脱它。考虑到这可能类似于np.import\u array(),它消除了相关的警告(实际上是用于使用Numpy C API),我尝试在

当编译一堆Cython生成的与Numpy接口的C文件时,我得到警告:

/usr/lib/pymodules/python2.7/numpy/core/include/numpy/__ufunc_api.h:226:1: warning: ‘_import_umath’ defined but not used [-Wunused-function]
我似乎无法摆脱它。考虑到这可能类似于
np.import\u array()
,它消除了相关的警告(实际上是用于使用Numpy C API),我尝试在顶层执行
np.import\u umath()
,但警告仍然存在。我怎样才能摆脱它


(Cython 0.17.4,Numpy 1.6.2。)

它说的是,代码中有一个函数,声明了但没有使用,所以它可能已经过时,不应该存在。因为这只是一个警告,并不是很危险(除非你会留下很多这样的函数,破坏代码,增加ram使用率,二进制大小等等),我只会忽略它——很可能不值得你花时间;)

有一篇文章对此进行了讨论。我相信讨论是关于Cython测试套件的,但我认为同样的想法也可以应用于生成的文件

本质上,这个问题涉及到一种黑客行为,这种行为是为了避免C编译器警告未使用的函数

当前的情况如下所示:

cdef extern from *:
   bint FALSE "0"
   void import_array()
#   void import_umath()

if FALSE:
    import_array()
#    import_umath()

过去, UnjultUMAth.()/Cuth>部分未注释,但事实证明,这是在C++模式下造成错误的。因此,编译器警告似乎比损坏的构建好得多


简而言之,为了C++兼容性,这个警告似乎是可以忽略的。我想如果你真的不喜欢它,如果你是在C模式下构建的,那么你可以尝试同样的方法,通过在你的Cython代码中调用
import_umath()
,导入一个类似的
.pxi
文件。不知道如何修复它。我有一个问题,你可以提供一些见解。我忽略了它。但是,我之前也忽略了
\u import\u array
,这是一个错误。我有一个建议,您可以提供有关的详细信息。