Как организовать и распространять приложение Python с расширениями C? - PullRequest
3 голосов
/ 23 февраля 2012

Я работаю над приложением Python, которое распространяется в виде исходного кода (в архиве) и через py2exe (большинство).

Теперь я хочу ускорить некоторые модули, заменив их расширениями C. Который работает довольно хорошо для части разработки. Но распределение и организация доставляют мне головную боль ...

Моя текущая структура выглядит так:

.
|-- py_submodule_a/
|-- py_submodule_b/
|   |-- c_extension_ba/
|-- c_extension_x/
|-- setup.py
|-- main.py

Мой вопрос: где я должен разместить установочные вызовы / файлы для моих расширений C? Я хочу убедиться, что всегда могу запустить свое приложение через main.py (поэтому я бы предпочел не ждать, пока дистрибутив скомпилирует расширения C), но я также хочу убедиться, что дистрибутив всегда имеет самые последние расширения C.

Заранее спасибо за любую помощь!

1 Ответ

1 голос
/ 25 апреля 2012

Если вы просто пытаетесь оптимизировать горячие циклы с помощью фрагментов кода C, вы всегда можете попробовать что-то вроде scipy.weave . Чрезвычайно удобно иметь C-код, красиво упакованный в вызывающий его пакет python, и иметь возможность выполнять эффективные операции C с памятью на месте.

...