抑制来自 Cython 的警告
Suppress warnings from Cython
我使用
手动 cythonize *.pyx
文件
cython -3 -Wextra mymodule.pyx
我使用 -Wextra
选项来生成额外的警告,这对于清理冗余代码片段很有用。但是,许多
形式的警告
warning: mymodule.pyx:123:45: local variable 'x' might be referenced before assignment
已打印,我不关心。我理解为什么从编译器的角度来看它并不明显,但在我的特定情况下,在任何情况下都不可能在引用之前不分配 x
。
因此我想继续使用 -Wextra
但过滤掉这种类型的警告,类似于 gcc 的 -Wno
选项。然而,我无法找到这样的功能。
cython 中的警告是通过编译器指令控制的;他们似乎只是部分 documented currently, but you can see the full list in the Cython source。
在这种情况下,您希望 warn.maybe_uninitialized
传递给 --directive
选项。
$ cython test.pyx -Wextra
warning: test.pyx:7:12: local variable 'x' might be referenced before assignment
$ cython test.pyx -Wextra --directive warn.maybe_uninitialized=False
# no warning
我使用
手动 cythonize*.pyx
文件
cython -3 -Wextra mymodule.pyx
我使用 -Wextra
选项来生成额外的警告,这对于清理冗余代码片段很有用。但是,许多
warning: mymodule.pyx:123:45: local variable 'x' might be referenced before assignment
已打印,我不关心。我理解为什么从编译器的角度来看它并不明显,但在我的特定情况下,在任何情况下都不可能在引用之前不分配 x
。
因此我想继续使用 -Wextra
但过滤掉这种类型的警告,类似于 gcc 的 -Wno
选项。然而,我无法找到这样的功能。
cython 中的警告是通过编译器指令控制的;他们似乎只是部分 documented currently, but you can see the full list in the Cython source。
在这种情况下,您希望 warn.maybe_uninitialized
传递给 --directive
选项。
$ cython test.pyx -Wextra
warning: test.pyx:7:12: local variable 'x' might be referenced before assignment
$ cython test.pyx -Wextra --directive warn.maybe_uninitialized=False
# no warning