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
在安装时运行代码,入口点
在用户运行脚本时运行代码。