Inside cpyext: Why emulating CPython C API is so Hard
Originally published on the PyPy blog.
Originally published on the PyPy blog.
Originally published on the PyPy blog.
>>>> import numpy
/data/extra/pypy/6.0.0/site-packages/numpy/random/__init__.py:99: UserWarning: __builtin__.type size changed, may indicate binary incompatibility. Expected 888, got 408
from .mtrand import *
$ pypy -m pip install pypy-fix-cython-warning
.pth
file which installs a warning filter at startup.PyType_Type
. PyPy versions up to 5.10 are buggy and report the incorrect size, so Cython includes a workaround to compare it with the incorrect value, when on PyPy.PyType_Type
reports the correct size; however, Cython still tries to compare it with the old, buggy value, so it (wrongly) emits the warning.numpy-1.14.2.zip
include C files which were generated by Cython 0.26.1: if you compile it you still get the warning, even if you locally installed a newer version of Cython.