Как скомпилировать библиотеку C с несколькими зависимостями в пакет Python?Cmake? - PullRequest
0 голосов
/ 06 июня 2018

У меня есть пакет Python в python3.x, который я писал, который взаимодействует с двумя функциями C в библиотеке C.На данный момент я использую ctypes, в результате чего я напрямую связываюсь с общей библиотекой *.so, а затем использую скрипт python для взаимодействия с этим.

https://docs.python.org/3/library/ctypes.html#module-ctypes

Теперь я запутался, как распространять этот пакет python, при котором пользователи будут устанавливать пакет python на github или через pip.Каким-то образом после установки библиотеку C необходимо будет загрузить, распаковать и скомпилировать.

Проблема в том, что библиотека C содержит несколько зависимостей от других библиотек C;В настоящее время я статически связал эти библиотеки, и вся библиотека C теперь устанавливается через cmake.

(1) Можно ли установить библиотеку C, как она устанавливается сейчас, через cmake?Похоже, это должно быть сделано целиком в setup.py, правильно?

(2) Меня смущает проблема distutils / setuptools в этом случае.Исходя из этой ссылки, https://docs.python.org/3/extending/building.html#building

правильный способ сделать это с помощью distutils, а не setuptools.Тем не менее, setuptools - это, как правило, рекомендуемые способы создания / распространения пакетов python в 2018 году. Устаревшая документация устарела?

...