Я пишу расширение Python C, которое использует API-интерфейс pygame C. Все идет нормально. Теперь мне интересно, как я упорядочиваю исходный код, чтобы я мог иметь несколько подмодулей в пакете. Все учебные пособия сосредоточены на одном расширении файла .c. Я попробовал посмотреть некоторые файлы setup.py проектов, но они смутили мой разум со сложностью, и я не мог видеть лес для деревьев.Написание пакетов Python с несколькими модулями C
В принципе, у меня есть расширение, скажем, MyExt. MyExt имеет глобальные функции и 3 типа. Как я могу организовать списки PyMethodDef? Должен ли я поместить все их в один список? В качестве альтернативы, я заметил, что объект Extension, который вы передали функции установки, является actaully массивом модулей, поэтому как мне имя модулей, чтобы все они находились под одним пакетом и могли видеть друг друга?
Мой setup.py:
main_mod = Extension('modname',
include_dirs = ['C:\Libraries\Boost\include',
'C:\Libraries\SDL\include',
'C:\Libraries\SDL_image\include'],
libraries = ['libSDL',
'SDL_image'],
library_dirs = ['C:\Libraries\SDL\lib',
'C:\Libraries\SDL_image\lib'],
sources = ['main.cpp',
'Object1.cpp',
'Object2.cpp',
'Etcetera.cpp'])
Так что, когда я называю: настройка (имя = "Некоторые Читаемые Human Name, Right", ext_modules = [main_mod]) я могу добавить другие модули ext_modules список но что я передаю в качестве первого параметра в «Расширение»? Использую ли я строку, разделенную точкой, как «mypackage.submodule»?
Как правило, как организовать расширение C с несколькими подмодулями? Если кто-нибудь может указать мне на какой-то исходный код, который легко читать и понимать, это было бы здорово. Большое спасибо!