cython

Форк
0
/
numpy_import_array_error.srctree 
40 строк · 965.0 Байт
1
PYTHON setup.py build_ext -i
2
PYTHON main.py
3

4
############# setup.py ############
5

6
from distutils.core import setup
7
from Cython.Build import cythonize
8

9
setup(ext_modules = cythonize('cimport_numpy.pyx'))
10

11
############# numpy.pxd ############
12

13
# A fake Numpy module. This defines a version of _import_array
14
# that always fails. The Cython-generated call to _import_array
15
# happens quite early (before the stringtab is initialized)
16
# and thus the error itself handling could cause a segmentation fault
17
# https://github.com/cython/cython/issues/4377
18

19
cdef extern from *:
20
    """
21
    #define NPY_FEATURE_VERSION
22
    static int _import_array(void) {
23
        PyErr_SetString(PyExc_ValueError, "Oh no!");
24
        return -1;
25
    }
26
    """
27
    int _import_array() except -1
28
    
29
############# cimport_numpy.pyx ###########
30

31
cimport numpy
32

33
############# main.py ####################
34

35
try:
36
    import cimport_numpy
37
except ImportError as e:
38
    print(e)
39
else:
40
    assert(False)
41

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.