gpt4 book ai didi

python - 简单的 Mercurial 扩展无法导入

转载 作者:太空狗 更新时间:2023-10-29 20:50:52 25 4
gpt4 key购买 nike

我正在尝试遵循 writing Mercurial extensions 的示例代码.这是一个最小的示例,从示例代码中逐字复制:

from mercurial import cmdutil
from mercurial.i18n import _

cmdtable = {}
command = cmdutil.command(cmdtable)

我将其保存到一个文件中,并将扩展安装到我的 .hgrc 文件中,如下所示:

[extensions]
myext=C:\foo\myext.py

任何随后发出的命令,例如hg init 现在会导致以下错误消息:

*** failed to import extension myext from C:\foo\myext.py: 'module' object has no attribute 'command'

这是否可能是由错误的环境引起的,例如缺少环境变量?

我在 Windows 10 上使用 Mercurial 4.7,由 TortoiseHg 安装程序 (tortoisehg-4.7.0-x64) 安装。 Mercurial 使用 Python 2.7.13,也由 TortoiseHg 安装程序安装。

最佳答案

看来文档需要更新了。 命令moved from cmdutil to registrar in January, 2016尽管当时留下了一个别名。这是 marked as deprecated in November, 2017removed entirely in May, 2018 .

Mercurial 4.7 release in August, 2018 included the change that removed cmdutil.command :

cmdutil: drop deprecated precursor of registrar.command (API)

这对我有用:

from mercurial import registrar
from mercurial.i18n import _

cmdtable = {}
command = registrar.command(cmdtable)

关于python - 简单的 Mercurial 扩展无法导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52117289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com