Создание библиотеки C на основе ctypes с помощью distutils

Следуя этой рекомендации , я написал собственную библиотеку расширений C для оптимизации части модуля Python с помощью ctypes. Я выбрал ctypes вместо написания собственной библиотеки CPython, потому что это было быстрее и проще (всего несколько функций со всеми жесткими циклами внутри).

Теперь я наткнулся на загвоздку. Если я хочу, чтобы мою работу можно было легко установить с помощью distutils с помощью python setup.py install , тогда distutils должен иметь возможность собрать мою общую библиотеку и установить ее (предположительно в / usr / lib / мойпроект ). Однако это не модуль расширения Python, и, насколько я могу судить, distutils не может этого сделать.

Я нашел несколько ссылок на людей, у которых есть эта проблема:

Я знаю, что я может делать что-то родное и не использовать distutils для разделяемой библиотеки или действительно использовать систему упаковки моего дистрибутива. Меня беспокоит, что это ограничит удобство использования, так как не каждый сможет легко его установить.

Итак, мой вопрос: каков наилучший в настоящее время способ распространения разделяемой библиотеки с distutils, которая будет использоваться ctypes, но в остальном это ОС -native, а не модуль расширения Python?

Не стесняйтесь ответить одним из советов, упомянутых выше, если вы можете расширить его и объяснить, почему это лучший способ. Если нет ничего лучше, по крайней мере, вся информация будет в одном месте.

23
задан Community 23 May 2017 в 11:33
поделиться