Скажем, у меня есть простой пакет следующей структуры:
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) {
^
.
.
.
Есть ли простой способ подавить их? В других вопросах описывается, как передавать флаги компилятора через файл .pyxbld
. Возможно создание fib.pyxbld
, содержащее следующее:
def make_ext(modname, pyxfilename):
from distutils.extension import Extension
return Extension(name=modname,
sources=[pyxfilename],
extra_compile_args=['-w'])
Я бы хотел этого избежать. Если мне нужно создать больше функций, мне также нужно создать больше файлов .pyxbld
с тем же шаблоном. Это кажется чрезмерным и непифовым.