dire che ho un pacchetto semplice della seguente struttura:Esiste un modo pulito per eliminare gli avvisi del compilatore da Cython quando si utilizza pyximport.install?
cython_functions/
__init__.py
fib.pyx
dove fib.pyx
contiene:
def fib(int n):
fiblist = [0, 1]
a, b = fiblist
while b < n:
a, b = b, a + b
fiblist.append(b)
return fiblist
e __init__.py
contiene:
import pyximport
pyximport.install()
from cython_functions.fib import fib
Se faccio eventuali modifiche fib.pyx
I ricevere un sacco di avvertenze sul compilatore ogni volta che provo a importare il pacchetto:
/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) {
^
.
.
.
C'è un modo semplice per sopprimerli? In another questions descrivono come passare i flag del compilatore attraverso un file .pyxbld
. E 'possibile per me creare fib.pyxbld
contenente quanto segue:
def make_ext(modname, pyxfilename):
from distutils.extension import Extension
return Extension(name=modname,
sources=[pyxfilename],
extra_compile_args=['-w'])
vorrei evitare questo. Se ho bisogno di creare più funzioni ho anche bisogno di creare più file .pyxbld
con lo stesso numero di riferimento. Questo sembra eccessivo e non-pitonico.