打包C/Python项目时使用distutils的原因

打包C/Python项目时使用distutils的原因,python,c,packaging,distutils,Python,C,Packaging,Distutils,我有一个包含Python和C代码的开源项目。我想知道distutils对我有什么用处,因为我计划做一个ubuntu/debian包。C代码不是我可以或不想用作Python扩展的东西。C和Python程序通过本地主机与TCP/IP通信 所以这里的底线是,当我学习打包时,distutils特定文件的使用是否只会让我更加困惑,因为我不能将我的C代码用作Python扩展?或者我应该将我的C和Python功能划分为不同的项目,以便更好地理解打包概念吗?distutils可以用于安装最终用户程序,但它在Py

我有一个包含Python和C代码的开源项目。我想知道distutils对我有什么用处,因为我计划做一个ubuntu/debian包。C代码不是我可以或不想用作Python扩展的东西。C和Python程序通过本地主机与TCP/IP通信


所以这里的底线是,当我学习打包时,distutils特定文件的使用是否只会让我更加困惑,因为我不能将我的C代码用作Python扩展?或者我应该将我的C和Python功能划分为不同的项目,以便更好地理解打包概念吗?

distutils可以用于安装最终用户程序,但它在Python库中使用时最有用,因为它可以创建源程序包并将它们安装在正确的位置。为此,我认为这或多或少是必要的

但是对于最终用户Python程序,您也可以使用make或您喜欢并习惯使用的任何东西,因为您不需要在Python site packages目录中安装任何代码,也不需要将代码放在PyPI上,也不需要从其他Python代码访问它


我不认为与其他工具相比,distutils在安装最终用户程序时使用起来既不复杂也不复杂。正如Cartman所说,所有这些安装/打包工具都非常复杂。

因为它使用统一的
python setup.py install
命令?distutils还是setuptools?不管怎样,就用其中一个

对于开发来说,它也非常有用,因为您不必关心在哪里可以找到这样或那样的依赖关系。只要它是标准的Python/basic系统库文件,
setup.py
应该可以为您找到它。使用
setup.py
,您不再需要
/configure
东西或丑陋的自动工具来创建巨大的makefile。它只会起作用(tm)

(请注意,我现在可能会从参与包装的人那里得到非常愤怒的答案。这是正常的。包装就像炼金术:一种由痴迷的男人完成的黑暗艺术,他们有点偏执,并且因为烟雾而变得非常疯狂。不同的包装理念之间有很多内讧,其中每个工具至少有一种。)