创建Python包中定义的控制台脚本列表
我正在使用setup_tools和setup.py分发工具包。用户看到的包的正面是使用console_脚本入口点安装的命令行脚本的集合 我希望有一个附加的脚本,用户可以执行该脚本以查看包已安装的控制台脚本列表 有没有一个原则性的方法可以做到这一点?一种简单的方法是从setup.py中的“console_scripts”条目复制列表,但这很容易出错,因为修改包时必须更新列表 我当前的解决方案是实际读取setup.py脚本并解析console_脚本条目。这看起来不像蟒蛇创建Python包中定义的控制台脚本列表,python,setuptools,Python,Setuptools,我正在使用setup_tools和setup.py分发工具包。用户看到的包的正面是使用console_脚本入口点安装的命令行脚本的集合 我希望有一个附加的脚本,用户可以执行该脚本以查看包已安装的控制台脚本列表 有没有一个原则性的方法可以做到这一点?一种简单的方法是从setup.py中的“console_scripts”条目复制列表,但这很容易出错,因为修改包时必须更新列表 我当前的解决方案是实际读取setup.py脚本并解析console_脚本条目。这看起来不像蟒蛇 因此,我的问题是,是否有一个
因此,我的问题是,是否有一个原则性的方法来做到这一点。谢谢 这可以使用
setuptools
中的模块,并对您感兴趣的软件包进行筛选
import pkg_resources
def find_my_console_scripts(package_name):
entrypoints = (ep for ep in pkg_resources.iter_entry_points('console_scripts')
if ep.module_name.startswith(package_name))
return entrypoints
返回的具有setup.py
中定义的所有属性,例如名称、模块名称、属性