更改 — 单击文档
来自菜鸟教程
Click/docs/7.x/changelog
变化
版本 7.1.2
发布 2020-04-27
- 恢复将 shell 引用应用于
echo_with_pager
和edit
的命令。 这旨在允许命令中有空格,但如果字符串实际上是命令和参数,或在 Windows 上,则会导致问题。 相反,必须手动引用该字符串,因为它应该出现在命令行中。 :问题:`1514`
7.1 版
发布 2020-03-09
- 修复 PyPI 包名,“click”再次小写。
- 修复
unicode_literals
错误消息中的链接。 :pr:`1151` - 在 UNIX Jupyter 笔记本上添加对彩色输出的支持。 :问题:`1185`
- 剥离 ANSI 控件的操作将剥离光标隐藏/显示序列。 :问题:`1216`
- 移除
bytes
未使用的兼容垫片。 :pr:`1195` - 围绕 termui 展开测试,尤其是 Windows 上的 getchar。 :问题:`1116`
- 修复使用 MSVC 14 构建的 Windows Python 2.7 上的输出。 :pr:`1342`
- 在 MSYS2 中运行时修复
OSError
。 :问题:`1338` - 在 Windows 上重定向到
NUL
流时修复OSError
。 :问题:`1065` - 在 Windows 上解析 Unicode 参数时修复内存泄漏。 :问题:`1136`
- 修复新 AppEngine 环境中的错误。 :问题:`1462`
- 始终为
click.Choice
返回传递的选项之一:issue:`1277`, :pr:`1318` - 将
no_args_is_help
选项添加到click.Command
,默认为 False :pr:`1167` - 将
show_defaults
参数添加到Context
以启用全局显示默认值。 :问题:`1018` - 处理
env MYPATH=
就好像选项没有通过一样。 :问题:`1196` - 再次可以在活动进度条实例上调用
next(bar)
。 :问题:`1125` open_file
和atomic=True
保留现有文件的权限并尊重新文件的当前 umask。 :问题:`1376`- 当使用测试
CliRunner
和mix_stderr=False
时,如果result.stderr
为空,则不会引发ValueError
。 :问题:`1193` - 从
CliRunner.invoke
中删除未使用的mix_stderr
参数。 :问题:`1435` - 修复
TypeError
在使用 bool 标志并指定type=bool
时引发的问题。 :问题:`1287` - 选项帮助文本中的换行符在重新换行之前用空格替换以避免不均匀的换行符。 :问题:`834`
MissingParameter
异常可在 Python 解释器中打印。 :问题:`1139`- 修复在提示期间如何显示文件类型选项的默认值。 :问题:`914`
- 修复包含
-
的命令的环境变量自动生成。 :问题:`1253` - 选项帮助文本在重新换行时用空格替换换行符,但保留分段符,修复多行格式。 :问题:`834、1066、1397`
- 换行的选项帮助文本在末尾添加了一个额外的换行符,以将其与下一个选项区分开来。 :问题:`1075`
- 在确定用于
click.edit()
的编辑器时,请考虑sensible-editor
。 :pr:`1469` - 系统调用的参数(例如传递给
click.edit
的可执行路径)可以包含空格。 :pr:`1470` - 添加 ZSH 完成自动加载和错误处理。 :问题:`1348`
- 为
Command
、Group
、Option
和Argument
添加一个repr,显示更友好调试的名称。 :问题:`1267` - 如果值在
--
分隔符后以-
开头,则完成不考虑选项名称。 :问题:`1247` - ZSH 完成转义值中的特殊字符。 :pr:`1418`
- 添加对 Fish shell 的完成支持。 :pr:`1423`
- 在更多情况下,解码字节选项值回退到 UTF-8。 :pr:`1468`
- 使有关旧的 2-arg 参数回调的警告成为弃用警告,将在 8.0 中删除。 这是自 Click 2.0 以来的警告。 :pr:`1492`
- 调整错误消息以标准化所使用的引号类型,使其与来自 Python 的错误消息匹配。
版本 7.0
发布 2018-09-25
- 放弃对 Python 2.6 和 3.3 的支持。 :pr:`967, 976`
- 包裹
click.Choice
丢失的消息。 :issue:`202`, :pr:`1000` - 添加本机 ZSH 自动完成支持。 :issue:`323`, :pr:`865`
- 记录未从 Python 2 中的字节数组解析 ANSI 颜色信息。 :问题:`334`
- 记录
CliRunner
的字节剥离行为。 :issue:`334`, :pr:`1010` - 使用错误现在提示
--help
选项。 :issue:`393`, :pr:`557` - 实现流式寻呼机。 :issue:`409`, :pr:`889`
- 将条形格式提取到它自己的方法中。 :pr:`414`
- 添加
DateTime
类型以转换给定日期时间格式的输入。 :pr:`423` secho
的第一个参数现在可以是None
,就像在echo
中一样。 :pr:`424`- 修复
ProgressBar.make_step
中的ZeroDivisionError
,当传递给ProgressBar.update
的第一次调用的参数为 0 时。 :issue:`447`, :pr:`1012` - 仅当总执行时间可见时才显示进度条。 :pr:`487`
- 添加了从帮助中隐藏命令和选项的功能。 :pr:`500`
- 记录选项可以是
required=True
。 :issue:`514`, :pr:`1022` - 对
Context.exit
的非独立调用返回退出代码,而不是调用sys.exit
。 :issue:`667`, :pr:`533, 1098` click.getchar()
在 Windows 上的 Python 3 中返回 Unicode,与其他平台一致。 :问题:`537, 821, 822, 1088`, :pr:`1108`- 添加了
FloatRange
类型。 :pr:`538, 553` - 为
Options
和Arguments
添加了对type=click.Choice
的 bash 补全的支持。 :issue:`535`, :pr:`681` Argument
参数声明只允许一个位置参数。 :issue:`568, 574`, :pr:`1014`- 添加
case_sensitive=False
作为选项的选项。 :问题:`569` click.getchar()
在 Linux 上的“^C”上正确提升KeyboardInterrupt
,在“^D”上正确提升EOFError
。 :issue:`583`, :pr:`1115`- 修复 Linux 上
click.getchar(echo=True)
的编码问题。 :pr:`1115` param_hint
中的错误现在源自参数本身。 :issue:`598, 704`, :pr:`709`- 添加一个测试,以确保当一个参数被格式化为使用错误时,使用它的元变量,而不是它的名称。 :pr:`612`
- 允许在
CliRunner.invoke
中将prog_name
设置为额外。 :issue:`616`, :pr:`999` - 从文档字符串中提取的帮助文本在
\f
换页符处截断,这对于隐藏 Sphinx 样式的参数文档很有用。 :pr:`629, 1091` launch
现在可以在 Cygwin 下正常工作。 :pr:`650`- 迭代后更新进度。 :issue:`651`, :pr:`706`
CliRunner.invoke
现在可以接收args
作为代表 Unix shell 命令的字符串。 :pr:`664`- 使
Argument.make_metavar()
默认输入元变量。 :pr:`675` - 添加
ignore_unknown_options
的文档。 :pr:`684` - 为
click.style
添加亮色支持,并修复参数fg
和bg
的重置选项。 :issue:`703`, :pr:`809` - 添加
show_envvar
用于在帮助中显示环境变量。 :pr:`710` - 当 stdout 或 stderr 是封闭管道时,在解释器关闭期间避免
BrokenPipeError
。 :issue:`712`, :pr:`1106` - 记录自定义选项名称。 :issue:`725`, :pr:`1016`
- 在不支持它的 Python 解释器上禁用
sys._getframes()
。 :pr:`728` - 修复了使用
None
调用sys.exit
时测试运行器中的错误。 :pr:`739` - 澄清有关命令行选项的文档。 :issue:`741`, :pr:`1003`
- 修复 Windows 控制台崩溃。 :问题:`744`
- 修复导致 bash 完成对链式命令不正确完成的错误。 :issue:`754`, :pr:`774`
- 添加了对来自用户提供的回调的动态 bash 完成的支持。 :pr:`755`
- 添加了对包含空格的 bash 补全的支持。 :pr:`773`
- 允许自动完成功能确定是否返回以不完整参数开头的完成。 :issue:`790`, :pr:`806`
- 修复选项命名例程以匹配文档并具有确定性。 :issue:`793`, :pr:`794`
- 修复路径验证错误。 :issue:`795`, :pr:`1020`
- 添加
Option
命名的测试和文档:功能。 :pr:`799` - 更新文档以匹配
path_type
的 arg 名称。 :pr:`801` - 添加了原始字符串,以便发生正确的转义。 :pr:`807`
- 修复 Windows 上
click.echo
的 16k 字符限制。 :issue:`816`, :pr:`819` - 在 Windows 7 上写入二进制流时克服 64k 字符限制。 :issue:`825`, :pr:`830`
- 为“t”和“f”添加布尔转换。 :pr:`842`
NoSuchOption
错误采用ctx
以便在错误输出中打印--help
提示。 :pr:`860`- 修复了 2.x 和 3.x 上关于 Unicode 的 Click 错误消息的行为。 Message 现在始终是 Unicode,并且 str 和 Unicode 特殊方法在该平台上按您的预期工作。 :问题:`862`
- 进度条现在默认使用 stderr。 :pr:`863`
- 添加对自动完成文档的支持。 :issue:`866`, :pr:`869`
- 允许
CliRunner
将 stdout 和 stderr 分开。 :pr:`868` - 修复变量优先级。 :issue:`873`, :pr:`874`
- 修复无效的转义序列。 :pr:`877`
- 修复在某些测试中出现的
ResourceWarning
。 :pr:`878` - 检测错误配置的区域设置时,如果
locale
命令失败,请不要失败。 :pr:`880` - 将
case_sensitive=False
作为选项添加到Choice
类型。 :pr:`887` - 强制 stdout/stderr 可写。 这可以解决像 Jupyter 这样的标准流打补丁严重的问题。 :pr:`918`
- 修复最后一个参数 后子命令选项的完成:问题:`919`,:pr:`930`
_AtomicFile
现在使用原始文件名的realpath
,因此更改工作目录不会影响它。 :pr:`920`- 修复存在默认值时不正确的补全 :issue:`925`, :pr:`930`
- 添加复制选项 attrs 以便可以重用自定义类。 :issue:`926`, :pr:`994`
- 当文件为
"-"
时,“x”和“a”文件模式现在使用标准输出。 :pr:`929` - 修复
__all__
列表中缺少的逗号。 :pr:`935` - 阐明参数的命名方式。 :issue:`949`, :pr:`1009`
- Stdout 现在自动设置为非阻塞。 :pr:`954`
- 不要设置选项两次。 :pr:`962`
- 移动
fcntl
导入。 :pr:`965` - 修复 Google App Engine
ImportError
。 :pr:`995` - 更好地处理动态默认选项值的帮助文本。 :pr:`996`
- 修复
get_winter_size()
使其正确返回(0,0)
。 :pr:`997` - 添加测试用例检查自定义参数类型。 :pr:`1001`
- 允许使用短宽度来解决 cmd 格式问题。 :pr:`1002`
- 添加有关 Python 版本支持的详细信息。 :pr:`1004`
- 向命令添加了弃用标志。 :pr:`1005`
- 修复了
fd
未定义的问题。 :pr:`1007` - 修复格式以获取简短帮助。 :pr:`1008`
- 记录
auto_envvar_prefix
如何与命令组一起工作。 :pr:`1011` - 默认情况下不要为进度条添加换行符。 :pr:`1013`
- 使用 Python 排序顺序进行 ZSH 补全。 :issue:`1047`, :pr:`1059`
- 记录参数名称默认转换为小写。 :pr:`1055`
- 由函数命名的子命令现在自动将下划线替换为破折号。 如果您注册一个名为
my_command
的函数,它会在命令行界面中变成my-command
。 - 在完成时隐藏隐藏的命令和选项。 :issue:`1058`, :pr:`1061`
- 修复绝对导入阻止 Click 被供应到 Windows 上的项目。 :issue:`1068`, :pr:`1069`
- 修复小写
auto_envvar_prefix
不会转换为大写的问题。 :pr:`1105`
版本 6.7
发布 2017-01-06
- 使
click.progressbar
与codecs.open
文件一起工作。 :pr:`637` - 使用嵌套子命令修复 bash 完成中的错误。 :pr:`639`
- 修复测试运行器没有正确保存调用者环境。 :pr:`644`
- 修复 SIGPIPE 的处理。 :pr:`62`
- 处理损坏的 Windows 环境,例如 Google App Engine。 :问题:`711`
版本 6.3
发布 2016-02-22
- 在 Windows 上使用
-m
和-c
修复解释器调用的参数检查。 - 修复了在 Python 3 上导致区域设置检测出错的错误。
版本 6.2
发布 2015-11-27
- 正确修复隐藏的进度条。
版本 6.1
发布 2015-11-27
- 解决了不可见进度条不再呈现的问题。
- 禁用带有子命令的链命令,因为它们本身就已损坏。
- 修复
MissingParameter
在没有传递参数的情况下无法工作。
版本 6.0
2015-11-24 发布,代号“pow pow”
- 优化进度条渲染,当它没有实际改变时不渲染。
- 使用设置的默认值明确禁止
nargs=-1
。 - 上下文现在在从堆栈中弹出之前关闭。
- 添加了对切换时 false 标志的短别名的支持。
- Click 现在将尝试通过在操作系统的帮助下列出可用的语言环境来帮助您更好地调试语言环境错误。
- 单击用于在某些单元测试情况下返回 Python 2 上的字节字符串。 这已被修复,现在可以正确返回 unicode 字符串。
- 对于使用 Python 2 的 Windows 用户,Click 现在可以更正确地处理来自系统的 Unicode。 这也有一个令人失望的副作用,即默认情况下,
Path
类型的文件名现在将始终为 unicode,这意味着这可能会为不知道这一点的代码引入小错误。 - 将
type
参数添加到Path
以强制对值使用特定的字符串类型。 - 对于在 Windows 上运行 Python 的用户,
echo
和prompt
函数现在通过模拟输出流在 Python Windows 控制台中使用完整的 unicode 功能。 这也适用于通过click.get_text_stream(...)
获取虚拟输出和输入流。 - 单元测试现在总是强制一定的虚拟终端宽度。
- 添加了允许破折号将标准流指示为
Path
类型的支持。 - 链模式下的多命令不再将解析剩下的参数传播到回调。 如果启用链模式,当可选参数附加到多命令时,现在也不允许通过异常。
- 放宽限制,不允许链式命令将其他链式命令作为子命令。
- 现在可以实现具有正 nargs 的参数的默认值。 以前,此配置通常会导致返回稍微意外的值。
版本 5.1
发布 2015-08-17
- 修复
pass_obj
中会意外传递上下文的错误。
5.0 版
2015-08-16 发布,代号“tok tok”
- 删除了各种已弃用的功能。
- 原子文件现在只接受
w
模式。 - 对于很长的命令,更改帮助输出的使用部分,将它们的参数包装到下一行,缩进 4 个空格。
- 修复使用
CliRunner
时返回代码和错误消息不正确的错误。 - 添加了
get_current_context
。 - 向上下文添加了
meta
字典,该字典在上下文链接列表中共享,以允许单击实用程序将状态放置在那里。 - 介绍了
Context.scope
。 echo
函数现在是线程安全的:它只调用底层对象的write
方法一次。prompt(hide_input=True)
现在在^C
上打印一个换行符。- 如果用户正在使用
unicode_literals
,单击现在将发出警告。 - 如果
PAGER
环境变量为空或仅包含空格,则 Click 现在将忽略该环境变量。 click-contrib
GitHub 组织已创建。
版本 4.1
发布 2015-07-14
- 修复错误消息将包含尾随
None
字符串的错误。 - 修复了一个错误,即 Click 会在带有尾随换行符的文档字符串上崩溃。
- 支持在 Python 3 上将编码设置为
None
的流,因为它会出现更好的错误。 - 在 less-pager 中正确处理 ^C。
- 处理
None
从sys.getfilesystemencoding
的返回值 - 修复使用
click.echo
写入 unicode 文件时崩溃的问题。 - 使用多个选项修复类型推断。
版本 4.0
2015-03-31 发布,代号“zoom zoom”
- 为大量直接或间接调用回显的接口添加了
color
参数。 这以前总是自动检测(echo_via_pager
功能除外)。 现在您可以强制启用或禁用它,覆盖 Click 的自动检测。 - 添加了
UNPROCESSED
类型,该类型不执行任何类型更改,从而在某些特殊的高级用例中简化了 2.x / 3.x 上的文本处理。 - 添加了
NoSuchOption
和BadOptionUsage
异常,用于更通用的错误处理。 - 添加了对处理未处理选项的支持,这在参数被转发到底层工具的情况下很有用。
- 在上下文中添加了
max_content_width
参数,可用于更改帮助输出的最大宽度。 默认情况下,Click 不会格式化超过 80 个字符宽度的内容。 - 添加了对向 stderr 写入提示的支持。
- 修复显示多个参数的默认值时的错误。
- 添加了对
option
和argument
的自定义子类的支持。 - 修复安装 colorama 时 Windows 上
clear()
中的错误。 - 正确拒绝
nargs=-1
选项。 选项不能是可变参数。 - 修复了 bash 补全对于非 ASCII 字符或破折号的命令无法正常工作的问题。
- 添加了一种手动更新进度条的方法。
- 更改了缺失参数的格式。 以前内部参数名称显示在错误消息中,现在如果传递则显示元变量。 如果选择了自动元变量,首先会去除额外的格式。
版本 3.3
发布 2014-09-08
- 修复了在 Python 3 上报告无效命令转发错误的问题。
版本 3.2
发布 2014-08-22
- 添加了缺少的
err
参数转发到secho
功能。 - 修复了上下文调用方法未正确处理的默认参数。 如果函数使用不当,这是向后不兼容的更改。 有关详细信息,请参阅 升级到 3.2。
- 大幅移除了
invoked_subcommands
属性。 由于解析的工作方式,无法使其无错误地工作,因此该 API 已被弃用。 有关详细信息,请参阅 升级到 3.2。 - 恢复了
invoked_subcommand
的功能,该功能在 3.1 中作为回归被破坏。
版本 3.1
发布 2014-08-13
- 修复了导致在调用父命令之前创建子命令上下文的回归,这是早期 Click 版本的回归。
版本 3.0
2014-08-12 发布,代号“clonk clonk”
- 格式化程序现在不再尝试适应小于 50 个字符的终端。 如果发生这种情况,它只是假设一个最小的宽度。
- 在测试系统中添加了一种不吞下异常的方法。
- 添加了对带有寻呼机的颜色的更好支持以及覆盖自动检测的方法。
- CLI 运行程序的结果对象现在附加了回溯。
- 改进了自动简短帮助检测,以更好地处理不终止句子的点。
- 现在在定义没有实际有效选项字符串的选项时,Click 将给出错误消息而不是静默传递。 这应该会捕获用户想要创建参数而不是选项的情况。
- 内部重组 Click 以支持销售。
- 添加了对多命令链接的支持。
- 添加了对
multiple
选项的默认值以及nargs != 1
选项和参数的支持。 - 传递给
progressbar
的标签不再呈现为去除空白。 - 添加了一种在 Click 命令上禁用
main
方法的独立模式的方法,以便能够更好地处理错误。 - 添加了对从命令回调返回值的支持。
- 添加了从
echo
打印到 stderr 的简化。 - 为组添加了结果回调。
- 多次进入上下文会推迟清理直到最后一次退出。
- 添加了
open_file
。
版本 2.6
发布 2014-08-11
- 修复了 Python 3 上的包装流会报告不正确的可查找值的问题。
版本 2.5
发布 2014-07-28
- 修复了 Python 3 上文本换行的错误。
版本 2.4
发布 2014-07-04
- 更正了 2.3 中帮助选项更改中的错误。
版本 2.3
发布 2014-07-03
- 修复了计数选项的格式错误的帮助记录。
- 如果 colorama 不可用,则在 Windows 上添加对 ansi 代码剥离的支持。
- 恢复了 Click 1.0 处理某些边缘情况的帮助参数。
版本 2.2
发布 2014-06-26
- 修复了 PyPy 上的 tty 检测。
- 修复了进入上下文管理器时未呈现进度条的问题。
版本 2.1
发布 2014-06-14
- 修复了 Windows 上的 launch() 函数。
- 改进了 Windows 上的 colorama 支持,以便在应用程序中断时尽量不搞砸控制台。
- 修复了 Windows 终端错误地报告为 80 个字符而不是 79 个字符的问题
- 如果可用,请使用 colorama win32 绑定来获取 Windows 终端的正确尺寸。
- 修复了 Python 3 上自定义函数类型的问题。
- 修复了错误消息中错误报告未知选项的问题。
2.0版
2014-06-06 发布,代号“tap tap tap”
- 添加了对以二进制模式在 Windows 上正确打开 stdin/stdout 的支持。
- 通过临时文件添加了对文件原子写入的支持。
- 引入了 BadParameter,它可用于轻松地使用与类型系统中相同的错误消息执行自定义验证。
- 添加了 progressbar(); 显示进度条的功能。
- 添加 get_app_dir(); 计算配置的主文件夹的函数。
- 通过
colorama
将 ANSI 代码的透明处理添加到 echo() 函数中。 - 添加了 clear() 函数。
- 重大变化:参数回调现在获取作为第二个参数传递的参数对象。 旧回调有遗留支持,它会发出警告但仍会执行脚本。
- 为 ANSI 样式添加了 style()、unstyle() 和 secho()。
- 添加了调用默认编辑器的 edit() 函数。
- 添加了启动浏览器和应用程序的 launch() 函数。
- 现在可以通过 required 标志将参数的 -1 的 Nargs 强制为单个项目。 它默认为不需要。
- 现在为参数设置默认值使其不再需要。
- 将确认提示中的“yN”/“Yn”更改为“y/N”和“Y/n”。
- 添加了对 bash 完成的基本支持。
- 添加了 getchar() 以从终端获取单个字符。
- 错误现在按预期转到 stderr。
- 修复了更奇特的参数格式(如 DOS/Windows 样式参数)的各种问题。
- 添加了 pause(),它的工作方式类似于内置的 Windows
pause
cmd,但如果应用程序不是通过终端运行的,则会变成自动 noop。 - 添加了一些关于缺少选择参数的额外信息。
- 更改了帮助功能的实现方式,以允许全局覆盖帮助选项。
- 添加了对令牌规范化的支持以实现不区分大小写的处理。
- 添加了对提供上下文设置默认值的支持。
版本 1.1
发布 2014-05-23
- 修复了导致 Python 2 中的文本文件不接受本机字符串的错误。
版本 1.0
发布 2014-05-21
- 初始版本。