distutils究竟做了什么?

xRo*_*bot 5 python distutils

我已阅读文档,但我不明白.

为什么我必须使用distutils来安装python模块?

为什么我只是无法在python路径中保存模块?

小智 5

你不用必须使用的distutils.您可以手动安装模块,就像您可以手动编译C++库(编译每个实现文件,然后链接.obj文件)或手动安装应用程序(编译,放入其自己的目录,添加启动快捷方式).它只是繁琐且容易出错,因为每个重复任务都是手动完成的.此外,我为示例列出的手动步骤非常乐观 - 通常,您希望执行更多操作.例如,PyQt将.ui-to-.py-compiler添加到路径中,以便您可以通过命令行调用它.所以你最终得到了一堆可以实现自动化的工作.仅这一点就是一个很好的论据.

此外,开发人员必须编写安装说明.使用distutils等,您只需要指定项目所包含的内容(当且仅当您需要时,才能指定其他内容) - 例如,您无需告诉它将所有内容放入新文件夹中site-packages,因为它已经知道这一点.

因此,最终,开发人员用户都会更容易.


ʇsә*_*ɹoɈ 2

您不必使用 distutils 来让您自己的模块在您自己的机器上运行;将它们保存在您的 python 路径中就足够了。

当您决定发布您的模块供其他人使用时,distutils 为他们提供了一种在他们的计算机上安装您的模块的标准方法。(“distutils”中的“dist”表示分发,就像将您的软件分发给其他人一样。)