Python 设置工具的用途是什么?
What is the purpose of Python setuptools?
setuptools 在 Python 中的用途是什么?如果我没有 setuptools 或从不升级 setuptools 怎么办?
我阅读了文档,但我无法得到答案。
Setuptools is a package development process library designed to
facilitate packaging Python projects by enhancing the Python standard
library distutils (distribution utilities).
从本质上讲,如果您正在创建和分发 Python 包,这将非常有帮助。
setuptools
是许多其他软件包用来处理源代码安装(以及与之相关的任务)的软件包。
它通常广泛用于非纯 Python 包,需要一些 compilation/installation 步骤才能使用(想想包含用 C 编写的扩展的包); setuptools
排除了此过程中使用的一些最常见的操作(使用与当前 Python 安装兼容的选项编译 C 文件,运行 Cython 如果需要,提供一些模糊连贯的 commands/options 用于 setup.py 文件,...)以及提供在 Python 包开发期间使用的一些工具。
与 distutils、distutils2 (?) 和其他一些我从未真正理解的包设置工具有某种重叠;老实说,它是 Python 生态系统的一部分,非常混乱。
重点是,如果您:
- 不要开发 Python 包;
- 仅安装二进制或纯 Python 软件包;
- 仅通过高级安装程序(pip、easy_install、您的发行版的包管理器)安装包您真的很幸运
您通常不需要担心安装工具 - 要么它不是真正需要的,要么高级安装程序会确保您安装了足够新的版本;在后一种情况下,只要他们必须执行的操作足够简单,通常他们就不会失败。
否则,不幸的是,您将花费一些有趣的时间来尝试了解 setup.py 和编译器之间到底是谁在添加导致编译失败的命令行开关,或者搞砸了包含路径,或者期望库位于不同的路径中,或者错误检测到编译器,或者尝试将东西安装到错误的路径中或以上的任意组合。
setuptools 在 Python 中的用途是什么?如果我没有 setuptools 或从不升级 setuptools 怎么办?
我阅读了文档,但我无法得到答案。
Setuptools is a package development process library designed to facilitate packaging Python projects by enhancing the Python standard library distutils (distribution utilities).
从本质上讲,如果您正在创建和分发 Python 包,这将非常有帮助。
setuptools
是许多其他软件包用来处理源代码安装(以及与之相关的任务)的软件包。
它通常广泛用于非纯 Python 包,需要一些 compilation/installation 步骤才能使用(想想包含用 C 编写的扩展的包); setuptools
排除了此过程中使用的一些最常见的操作(使用与当前 Python 安装兼容的选项编译 C 文件,运行 Cython 如果需要,提供一些模糊连贯的 commands/options 用于 setup.py 文件,...)以及提供在 Python 包开发期间使用的一些工具。
与 distutils、distutils2 (?) 和其他一些我从未真正理解的包设置工具有某种重叠;老实说,它是 Python 生态系统的一部分,非常混乱。
重点是,如果您:
- 不要开发 Python 包;
- 仅安装二进制或纯 Python 软件包;
- 仅通过高级安装程序(pip、easy_install、您的发行版的包管理器)安装包您真的很幸运
您通常不需要担心安装工具 - 要么它不是真正需要的,要么高级安装程序会确保您安装了足够新的版本;在后一种情况下,只要他们必须执行的操作足够简单,通常他们就不会失败。
否则,不幸的是,您将花费一些有趣的时间来尝试了解 setup.py 和编译器之间到底是谁在添加导致编译失败的命令行开关,或者搞砸了包含路径,或者期望库位于不同的路径中,或者错误检测到编译器,或者尝试将东西安装到错误的路径中或以上的任意组合。