cffi.readthedocs.io/en/latest/overview.html#main-mode-of-usage
я есть пакет 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. Является ли приведенная выше документация устаревшей?