- Установить env: vcvars64.bat
- Создать файл: out.pyx:
#cython: language_level=3
def foo():
class A:
pass
class B(A):
def __init__(self):
super().__init__()
return 42
foo()
- Cythonize:
cython --embed out.pyx
- Компиляция:
cl.exe /nologo /Ox /MD /W3 /GS- /Zi -I"c:\Program Files\Python37\include" /Tcout.c /link /OUT:"out.exe" /SUBSYSTEM:CONSOLE /MACHINE:X64 /LIBPATH:"c:\Program Files\Python37\libs"
- Отладка:
devenv /debugexe out.exe
- Запустите exe
Это приводит к сбою в операторе return на моей машине с python 3.7.2 и cython 0.29.7. Странно, когда я удаляю вызов super().__init__()
, он работает нормально.