Python setup.py:入口点和cmdclass之间有什么区别?

Python setup.py:入口点和cmdclass之间有什么区别?,python,setuptools,setup.py,distutils,Python,Setuptools,Setup.py,Distutils,在学习setup.py的结构时,我遇到了两个术语:entry\u points和cmdclass 我阅读了setuptools和distutils的文档。在这一点的帮助下,再加上我在网上找到的一些信息,我得出结论,这两者是一体的。具体而言: 这两个命令用于添加自定义命令,也可以用于向现有命令添加挂钩 但是,当我检查一些流行软件包的setup.py文件时,我发现这两个属性正在一起使用。例如,参见包装的setup.py 你能给我解释一下这两处房产的用途吗 cmdclass是一种修改setup.py的

在学习
setup.py
的结构时,我遇到了两个术语:
entry\u points
cmdclass

我阅读了
setuptools
distutils
的文档。在这一点的帮助下,再加上我在网上找到的一些信息,我得出结论,这两者是一体的。具体而言:

这两个命令用于添加自定义命令,也可以用于向现有命令添加挂钩

但是,当我检查一些流行软件包的
setup.py
文件时,我发现这两个属性正在一起使用。例如,参见包装的
setup.py


你能给我解释一下这两处房产的用途吗

cmdclass
是一种修改setup.py的行为的方法。例如,您可以覆盖
build
install
命令来扩展它们


入口点与
脚本类似,它们声明将在安装时创建的脚本。这些脚本是由用户运行的。

因此,使用cmdclass和入口点,我可以在安装时更改脚本?你是什么意思?这两个是不同的东西,只有一个安装脚本,稍后将由用户使用。“在安装时更改脚本”是什么意思?我的意思是在运行时执行任意代码-例如,author使用cmdclass执行相同的操作:两者都可以用于运行任何代码
cmdclass
在安装时运行代码,
入口点
在用户运行脚本时运行代码。