CompileError при попытке скомпилировать тип расширения

Я пытаюсь выполнить этот учебник об использовании pyx, pxd и cimport для создания и использования типов расширений.

При компиляции файла Cython в терминале я получаю сообщение об ошибке, которое я не знаю, как исправить:

cdef class CythonClass: в файле pyx указывается как строка ошибки.

File "/Library/Python/2.7/site-packages/Cython/Build/Dependencies.py", line 1056, in cythonize_one
    raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: CythonClass.pyx

Я использую версию Cython.25 (и попробовал и другие версии, каждая из которых была установлена ​​с pip install cython) на MacOS Sierra. Версия Python - 2,7.10.

Как и было предложено, я установил gcc (средства командной строки для Xcode 8.2), но до сих пор получаю ошибку.

Содержимое файла:

PXD:

cdef class CythonClass:
    cdef:
        list list1
        dict d1, d2, d3, d4, d5, d6

дарохранительница:

cdef class CythonClass:
    def __init__(self):
        self.list1 = []
        self.d1 = {}
        self.d2 = {}
        self.d3 = {}
        self.d4 = {}
        self.d5 = {}
        self.d6 = {}

setup.py(вызывается python setup.py build_ext --inplace в терминале):

from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules = cythonize(["CythonClass.pyx"]))

По крайней мере, в настоящее время я попытаюсь скомпилировать без использования файлов pxd, поскольку компиляция прошла для типов расширений. Однако основная функция, которая импортирует типы расширений, не компилируется (с ошибкой: extTypeName is not a type identifier).

Ответы