Как скомпилировать и связать несколько модулей Python (или пакетов )с помощью cython?

У меня есть несколько модулей Python (, организованных в пакеты ), которые зависят друг от друга . например.

  • Модуль 1
  • Модуль2 :импортирует Модуль1
  • Модуль 3
  • Module4 :импортирует Module3, Module 2, Module 1

Предположим, что соответствующий интерфейс для разработки приложений находится в Module4, и я хочу сгенерировать Module4.so, используя cython . Если я пойду наивным путем, я получу расширение Module4.so, которое я могу импортировать , НО расширение опирается на исходный код python Module1, Module2, Module3.

Есть ли способ скомпилировать так, чтобы также Module1,Module2,Module3 были скомпилированы и связаны с Module4? Я хотел бы не делать все вручную , например. сначала скомпилируйте Module1.so, затем измените объявление импорта в Module2, чтобы импортировать Module1.so, а не Module1.py, затем скомпилируйте Module2 в Module2.so и т. д....

Спасибо!

14
задан Mannaggia 16 July 2012 в 15:06
поделиться