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

Программы на Python
Ответить
Anonymous
 Создание библиотеки C на основе ctypes с помощью distutils

Сообщение Anonymous »

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

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

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

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

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

Подробнее здесь: https://stackoverflow.com/questions/452 ... -distutils
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»