Я пытаюсь собрать некоторые файлы Cython коды, используя distutils.core.setup Для того, чтобы предотвратить компиляцию от сбоев, но продолжать как можно больше я ставлю каждый файл расширение в Ьге заявлении в качестве такогопитон Distutils попробовать настроить
from distutils.core import setup, Extension
from Cython.Build import cythonize
from Cython.Distutils import build_ext
import numpy as np
pyx = [#file 1
Extension('file1',
include_dirs=[np.get_include()],
sources ["file1.pyx"]),
#file 2
Extension('file2',
include_dirs=[np.get_include()],
language="c",
sources = ["file2.pyx"]),
#rest of files
]
# compile extensions
for E in pyx :
try:
setup(ext_modules = [E], cmdclass={'build_ext': build_ext})
except Exception as e:
print "THIS IS AN ERROR", e
Все работает красиво, кроме случаев, когда есть ошибка, попытка и уловка кажется бесполезной. Компиляция остановится, не пройдя за исключением инструкции.
Любая идея, почему и что делать?
ли вы проверить, если 'distutils.core.setup' на самом деле распространяется исключение, если один из модулей расширения не строить? – renemilk
Да, да. Я ввел ошибку, чтобы проверить попытку и исключить, кроме как установить сбой, как правило, без прохождения за исключением. – Cobry
Тогда я предлагаю запустить pdb и установить точку останова на любом 'raise' и отследить там исключение. – renemilk