click是flask团队开发的cli框架,通过装饰器让“一个函数就是一个命令”,支持参数、选项、子命令、自动帮助生成等功能,大幅简化专业命令行工具开发。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想快速把一个Python脚本变成带参数、能安装、可全局调用的命令行工具,又不想手动写setup.py、配置entry_points、处理包依赖和版本发布——Cursor能帮你自动生成骨架、补全CLI逻辑、实时调试并一键生成PyPI上传文件。
创建带Click框架的CLI项目结构
在Cursor中新建文件夹,右键选择“New File”,输入cli.py,光标定位到空白处,输入import click后按Tab,Cursor会自动补全Click基础模板;接着输入@click.command()→回车→输入@click.option('--name', default='World', help='Name to greet')→回车→输入def hello(name):→回车→输入click.echo(f'Hello, {name}!')。这一步必须用Click装饰器,否则后续打包无法识别入口点。
保存文件后,在侧边栏右键该文件→选择“Run Python File in Terminal”,终端立即输出Hello, World!——说明CLI函数已可执行,但此时还不能通过命令行直接调用。
生成pyproject.toml并声明入口点
在项目根目录新建pyproject.toml,光标置于文件顶部,输入[build-system]→回车→输入requires = ["hatchling"]→回车→输入build-backend = "hatchling.build"→回车→输入[project]→回车→输入name = "greet-cli"→回车→输入version = "0.1.0"→回车→输入description = "A simple greeting CLI"→回车→输入requires-python = ">=3.8"→回车→输入dependencies = ["click"]→回车→输入[project.entry-points."console_scripts"]→回车→输入greet = "cli:hello"。
【greet = "cli:hello"必须严格匹配文件名和函数名,大小写、下划线、拼写错一个字符都会导致pip install后命令不可用】
保存后,Cursor右下角会提示“Detected pyproject.toml — enable PEP 621 support”,点击启用,编辑器将自动校验语法并高亮错误项。
本地安装并测试命令行调用
打开集成终端(Ctrl+`),确保当前路径为项目根目录,执行:pip install -e .。
安装完成后,直接在终端输入greet --help,看到Click自动生成的帮助信息;再输入greet --name Alice,输出Hello, Alice!——说明入口点注册成功,命令已全局生效。
如果提示command not found: greet,检查是否在虚拟环境中执行了pip install -e .,且该虚拟环境处于激活状态;若使用系统Python,请确认pip对应的是你当前终端的Python解释器。
生成发行包并验证可安装性
在终端执行:python -m build。
Cursor会自动检测pyproject.toml配置,调用build模块生成dist/greet_cli-0.1.0-py3-none-any.whl和dist/greet_cli-0.1.0.tar.gz两个文件。
新建临时目录,运行pip install ../dist/greet_cli-0.1.0-py3-none-any.whl,安装后立即执行greet --name Bob——输出正确即证明分发包结构完整、依赖解析无误。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











