python setuptools的目的是什么?

时间:2016-12-19 06:28:04

标签: python setuptools

python中setuptools的目的是什么?如果我没有setuptools或从不升级setuptools怎么办?

我阅读此文档但无法得到答案。 https://pypi.python.org/pypi/setuptools

2 个答案:

答案 0 :(得分:7)

setuptools是许多其他软件包用来从源代码(以及与之相关的任务)处理安装的软件包。

它通常广泛用于非纯Python包,在使用之前需要一些编译/安装步骤(想想包含用C编写的扩展的包); setuptools因为这个过程中使用的一些最常见的操作(使用与当前Python安装兼容的选项编译C文件,如果需要运行Cython,为setup.py文件提供一些模糊的一致命令/选项, ...)以及提供Python包开发过程中使用的一些工具。

与distutils,distutils2(?)和其他一些我从未真正理解过的软件包设置工具存在某种重叠;老实说,它是Python生态系统的一部分,这是一个相当大的混乱。

重点是,如果你:

  • 不开发Python包;
  • 仅安装二进制或纯Python包;
  • 只能通过高级安装程序(pip,easy_install,您的发行版的软件包管理器)安装软件包,您真的很幸运

您通常不需要担心setuptools - 或者它不是真的需要,或者高级安装程序会确保您安装了最新的版本;在最后一种情况下,只要他们必须做的操作通常很简单,他们就不会失败。

否则,遗憾的是,您将花费一些时间来尝试了解setup.py和编译器之间究竟是谁添加了使编译失败的命令行开关,或者搞砸了包含路径,或者期望库是在不同的路径,或错误检测编译器,或尝试将东西安装到错误的路径或上述的任何组合。

答案 1 :(得分:0)

  

Setuptools是一个旨在实现的包开发过程库   通过增强Python标准来促进Python项目的打包   library distutils(distribution utilities)。

Wikipedia

基本上,如果您正在创建和分发python包,那么它非常有帮助。