Jak używać Sphinxa z Cythonem?

Niedawno Cythonized mój projekt, zmieniając nazwę wszystkich modułów (z wyjątkiem najwyższego poziomu__init__.py) do*.pyxi kładącext_modules = [Extension('foo', ['foo.pyx'])] wsetup.py. Budowa i instalacja działa dobrze. Jednak kiedy to robięcd doc; make html, Sphinx zawodzi, ponieważ nie może zaimportować żadnego z modułów, które są teraz*.pyx.

Jeśli będę edytowaćdoc/conf.py&nbsp;i zmienićsys.path.insert(0, os.path.abspath('..'))&nbsp;dosys.path.insert(0, os.path.abspath('../build/temp.linux-x86_64-2.7')), następnie Sphinx może znaleźć wszystkie moduły i wygenerować dokumentację, ale w takim przypadku otrzymuję błędy takie jakerror while formatting arguments for foo.bar: <built-in function bar> is not a Python function. Prawdopodobnie jest tak, ponieważ teraz Sphinx ma dostęp tylko do*.so&nbsp;pliki, a nie pliki źródłowe. To samosys.path&nbsp;modyfikacja umożliwia również uruchamianie dokumentów przez Sphinx (make doctest).

Innym rozwiązaniem, którego próbowałem, było użycie rozszerzenia*.py&nbsp;zamiast*.pyx&nbsp;(i używającext_modules = [Extension('foo', ['foo.py'])]&nbsp;wsetup.py). W tym przypadku dokumentacja buduje się poprawnie, ale myślę, że doctests teraz pomijają Cythona.

Nie udało mi się znaleźć żadnych informacji online dotyczących używania Sphinx i Cython razem. Sprawdziłem kod źródłowy niektórych projektów, które używają obu, ale nie wydają się korzystać z docstrings w*.pyx&nbsp;pliki. Wiem, że Sage to robi, ale ten projekt jest zbyt skomplikowany, abym mógł go rozdzielić.

Czy Sphinx obsługuje dokumenty w plikach Cython? Jeśli tak, jak mam to zrobić?