从https://github.com/pallets/meta/issues/10#issuecomment -209980352 继续讨论
命名不一致:
jinja
jinja2
.jinja
、 .j2
、 .jinja2
... Ansible 项目目前使用.j2
我们应该选择“Jinja”或“Jinja2”并在任何地方使用它以保持一致性。
我对两者都持开放态度,“Jinja”更简单、更短,但“Jinja2”有一个更独特的环,不太可能与任何其他项目混淆。
Stack Overflow 标签是“jinja2”,“jinja”是一个被隐形转换的同义词。 尽管我朝着相反的方向努力。 (这发生在大约一年前。)
我真的想从名称中删除“2”。 开始向“jinja”PyPI 页面添加 v2 版本。 弃用“jinja2”导入并返回到“jinja”命名空间。
@ThiefMaster @mitsuhiko @untitaker你们有意见吗?
我认为我们可以做到这一点,但我个人建议将 3.0 版本与此保持一致。
:+1:等待3.0。
Stack Overflow 标签是“jinja2”,“jinja”是一个被隐形转换的同义词。 尽管我朝着相反的方向努力。 (这发生在大约一年前。)
我也许可以解决这个问题。
编辑:是的,我可以
重命名预览
jinja2 将从 3486 个问题中删除
jinja 将被添加到 3486 个问题
对 jinja2 的 5 个承诺 文档提案将移至 jinja 提案
将创建标签同义词映射 jinja2 → jinja。
(这些计数包括已删除的问题并排除重叠标签)
3.0 发布的时间表是什么?
我们越早开始提醒人们越好,那么现在在jinja2
进口上添加一个弃用警告,并在jinja
进口上添加一个警告,我们很快就会将 v3 推向jinja
命名空间?
@davidism你jinja
吗? 根据我上面的评论,它目前在jinja2
和 IIRC 之下,您正在推动其他项目的 RTD 命名空间的清理/所有权迁移?
在某种程度上,Jinja2 的最后一个主要版本是引擎的巨大变化。 甚至不确定是否还有更多的东西我们需要打破 :D
为 Jinja v3 保存重大更改和名称合并对我来说听起来很棒。 我们不妨尝试找出我们可以为它安排的重大更改。
我想提醒大家一个潜在的 -允许包含块覆盖。 这个问题并不一定意味着一个重大的改变,但如果那是你们都想要走的路线,用 v3 里程碑重新制作/打开这个问题是我会做的。 对不起,切线。 :) 也许我们可以制作另一张票来讨论 Jinja v3 的突破/里程碑。
轻推@davidism - 根据我上面的评论,您是否能够将 RTD 命名空间从 jinja2 修改为 jinja?
在 2.11 版本中,我正在考虑将包重命名为jinja
,并带有一个用于jinja2
的 placholder 模块,用于转发所有导入并发出弃用警告。
我仍然需要确定下一步的时间安排,但我也想尝试回到 PyPI 上的“Jinja”名称。 我想我想做的是有一个包含jinja2
占位符的Jinja 2.11 构建,并使Jinja2 2.11 构建只依赖于jinja>=2.11
,或者有一个解释安装的小垫片另一个名称而不破坏任何代码。 我愿意付出额外的努力,在我们管理过渡期间保持这些构建同步一段时间。
@davidism这不应该发生在点发布中。 这会破坏泡菜和其他一些东西。
因为之前我已经祝福了,所以我想稍微限定一下。 这种变化让我有些胃溃疡。 最终我认为它对用户不是特别有用(它只是删除一个字符),引入了一些向后不兼容的问题,并且它取消了我在 Jinja2 最初发布时所做的学习。
使用 2.0 重命名包的原因是没有办法(现在仍然没有办法)并行安装与 node 或 rust can 不同的不兼容的 Python 库。 因此,我认为我们迟早会陷入愚蠢的境地,在这种情况下,Jinja 4.0 需要在 pypi 上命名为“Jinja4”。
所以我认为虽然这个重命名有点好,但我通常不再认为这是一个好主意。 我认为如果 Python 导入系统支持不同版本的导入,我认为这种改变是没有问题的,但我放弃了希望。
@coleifer我真的不知道你除了“让我们恢复这个”之外还有什么建议。 我们不会将其作为补丁/错误修复版本发布,所以我想您不会因为这将在 2.11 中发布而感到高兴。 你期待我们为此发布 Jinja 3 吗? 在具有多个依赖 Jinja 的包的依赖树中,这会导致更多问题。
老实说,我觉得你的行为完全不能接受,并希望它会产生后果。
~fwiw 我们还可以发布jinja2
的新(点)版本,它重新导出所有jinja
(即它是垫片)。 当您有多个依赖于另一个包的依赖项时,这通常适用于 Rust。 您只需要更新jinja2
即可使依赖于jinja2
隐式使用jinja
。~ 丢弃它。 这正是 shim 正在做的事情。 我不知道担心是什么。
@untitaker对您提到的在 Jinja 3.0 中进行重命名的问题感兴趣。 根据与@ThiefMaster 的讨论,似乎在 3.0 中这样做更有意义,因为它确实代表了一个重大变化。 我们还考虑了仅重命名的 2.12 版本。
Jinja2 3.0 将作为 shim 并拉入 Jinja 3.0 作为依赖项。
这可能没问题,但它会禁止将新的jinja
名称与明确依赖于Jinja2==2.*
。 这限制了垫片的潜在用途。
是的,这是我使用 2.11 的最初原因之一。 我猜 2.12 与 3.0 归结为决定重命名是否是重大变化,即使 jinja2 将继续工作并发出弃用警告。 3.0 最初只是一个主要版本,因为它放弃了 Python 3。
在内部进行了一些更多的讨论后,我们正在恢复这一点。 见#1131。
最有用的评论
Stack Overflow 标签是“jinja2”,“jinja”是一个被隐形转换的同义词。 尽管我朝着相反的方向努力。 (这发生在大约一年前。)
我真的想从名称中删除“2”。 开始向“jinja”PyPI 页面添加 v2 版本。 弃用“jinja2”导入并返回到“jinja”命名空间。