You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为package.__main__配置Python setuptools控制台脚本入口点?

问题

我的目录结构如下:

package
package/__init__.py
package/__main__.py
setup.py

希望将package.__main__作为命令行入口点,当前setup.py中的entry_points配置示例为:

setuptools.setup(
    name="package",
    version=0.1,
    ...
    entry_points={"console_scripts": ["llmcli=llmcli"]},
)

请问能否通过配置setuptools的entrypoints实现该需求?

解答

完全可以实现,只需要修改console_scripts的入口指向即可,具体有两种常用方式:

  • 方式一:指定__main__.py中的main()函数
    如果你的package/__main__.py里定义了main()函数作为执行入口(这是Python项目的常规写法),直接把entry_points改成:
setuptools.setup(
    name="package",
    version=0.1,
    ...
    entry_points={"console_scripts": ["llmcli=package.__main__:main"]},
)
  • 方式二:直接触发__main__.py的模块执行逻辑
    如果package/__main__.py里包含if __name__ == "__main__":这类直接执行的代码,也可以直接映射模块的__main__入口:
setuptools.setup(
    name="package",
    version=0.1,
    ...
    entry_points={"console_scripts": ["llmcli=package.__main__:__main__"]},
)

或者更简洁的写法:

entry_points={"console_scripts": ["llmcli=package:__main__"]},

两种方式都能让你安装包后,通过llmcli命令直接触发package.__main__里的逻辑,完全匹配你的目录结构需求。


内容的提问来源于stack exchange,提问作者Att Righ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 06:57:09