说我有一个简单的包装如下结构:
cython_functions/
__init__.py
fib.pyx
fib.pyx包含:
def fib(int n):
fiblist = [0, 1]
a, b = fiblist
while b < n:
a, b = b, a + b
fiblist.append(b)
return fiblist
和__init__.py包含:
import pyximport
pyximport.install()
from cython_functions.fib import fib
如果我对fib.pyx进行任何更改,每当我尝试导入包时,都会收到一大堆编译器警告:
/Users/andfranklin/.pyxbld/temp.macosx-10.6-intel-3.5/pyrex/cython_functions/fib.c:1687:28: warning: unused function '__Pyx_PyObject_AsString' [-Wunused-function]
static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {
^
/Users/andfranklin/.pyxbld/temp.macosx-10.6-intel-3.5/pyrex/cython_functions/fib.c:1684:32: warning: unused function '__Pyx_PyUnicode_FromString' [-Wunused-function]
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
^
.
.
.
有什么容易的方式来压制他们吗?在another questions中,他们描述了如何通过.pyxbld文件传递编译器标志.我可以创建包含以下内容的fib.pyxbld:
def make_ext(modname, pyxfilename):
from distutils.extension import Extension
return Extension(name=modname,
sources=[pyxfilename],
extra_compile_args=['-w'])
我想避免这个.如果我需要创建更多的功能,我还需要使用相同的样板创建更多的.pyxbld文件.这似乎是过度而不是pythonic.