У меня есть пакет 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 году. Устаревшая документация устарела?