应安装社区维护的 choosealicense-cli 工具而非非官方包,因其提供准确、更新的 spdx 许可证文本;生成 license 文件后须手动补全版权年份与作者名,并确保文件名为全大写 license。

直接用 choosealicense-cli 生成 LICENSE 文件最省事,但得先装对工具、选对许可证、注意项目根目录位置——否则生成的文件可能放错地方或内容不合规。
为什么不能只 pip install choosealicense
官方 choosealicense.com 没有提供 Python 包,网上搜到的 choosealicense(无后缀)多数是第三方非官方包,版本陈旧、不更新、甚至会写错 MIT 条款年份或作者名。真正可用的是社区维护的命令行工具:choosealicense-cli。
- 安装命令必须是:
pip install choosealicense-cli - 验证是否装对:运行
choosealicense --help,看到带mit、apache-2.0等子命令才算成功 - 如果报错
command not found,大概率是 pip 安装路径没进$PATH,可改用python -m choosealicense临时调用
如何用 choosealicense-cli 生成标准 LICENSE 文件
工具默认按 SPDX ID 生成对应许可证全文,不支持交互式提问,所有参数需手动指定。常用组合如下:
- MIT 许可证(最常用):
choosealicense mit > LICENSE - Apache-2.0:
choosealicense apache-2.0 > LICENSE - GPL-3.0:
choosealicense gpl-3.0 > LICENSE - 想预览不写入?去掉重定向,直接运行
choosealicense mit就打印内容到终端 - 注意:输出不含占位符(如
[year]或[fullname]),内容是完整可直接使用的文本
生成后还要手动改什么?
choosealicense-cli 输出的是通用模板,Python 项目中仍需确认三点:
- 文件名必须是全大写的
LICENSE(不是LICENSE.txt或license.md),否则 PyPI 和 GitHub 无法自动识别 - MIT/Apache 等许可证首行通常含版权申明,例如
Copyright (c) 2024 Your Name—— 工具不会填你的真实信息,得手动补上,否则法律效力存疑 - 如果项目已有
pyproject.toml,建议同步在[project]段落加license = {text = "MIT"}或license-files = ["LICENSE"],否则构建时可能被忽略
最容易被跳过的其实是版权年份和作者名——工具不问、不提示、不校验,生成即“完成”,但缺这两项的 LICENSE 在法律层面可能被视为无效声明。别让自动化省了三秒,却埋下开源合规隐患。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











