我正在尝试遵循示例代码来编写Mercurial扩展。这是一个最小的示例,从示例代码中逐字复制:
from mercurial import cmdutil
from mercurial.i18n import _
cmdtable = {}
command = cmdutil.command(cmdtable)
我将其保存到文件,然后在.hgrc
文件中安装扩展名,如下所示:
[extensions]
myext=C:\foo\myext.py
任何随后发出的命令(例如hg init
现在)都会导致以下错误消息:
***无法从C:\ foo \ myext.py导入扩展名myext:“模块”对象没有属性“命令”
这可能是由于错误的环境(例如缺少环境变量)引起的吗?
我正在Windows 10上使用Mercurial 4.7,由TortoiseHg安装程序(tortoisehg-4.7.0-x64)安装。Mercurial使用同样由TortoiseHg安装程序安装的Python 2.7.13。
看来文档需要更新。command
于2016年1月从cmdutil
移至registrar
,但当时已保留别名。该功能在2017年11月被标记为已弃用,并在2018年5月被完全删除。
2018年8月发布 的Mercurial 4.7 包含删除的更改cmdutil.command
:
cmdutil:删除不推荐使用的registrar.command(API)的前体
这对我有用:
from mercurial import registrar
from mercurial.i18n import _
cmdtable = {}
command = registrar.command(cmdtable)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句