我在python3.x中有一个Python包我一直在写,它与C库中的两个C函数交互。目前,我一直在使用ctypes
,我直接链接到共享库*.so
,然后使用python脚本与此进行交互。
https://docs.python.org/3/library/ctypes.html#module-ctypes
我现在很困惑如何分发这个python包,用户可以在github上或通过pip安装python包。不知何故,在安装时,需要下载,解压缩和编译C库。
问题是,C库包含几个与其他C库的依赖关系;我目前静态链接这些库,现在整个C库通过cmake安装。
(1)是否可以通过cmake安装现在安装的C库?看来这应该完全在setup.py
完成,对吗?
(2)在这种情况下,我对distutils / setuptools问题感到困惑。根据此链接https://docs.python.org/3/extending/building.html#building
正确的方法是通过distutils,而不是setuptools。但是,setuptools通常是在2018年创建/分发python包的推荐方法。上面的文档是否过时了?