1

click是一个用于创建命令行界面的 Python 包。

我有这个命令结构。

cli        (group - entry point)
-ip        (group)
--static   (group)
---foo     (method)
--floating (group)
---bar     (method)

当我TabTab按键时:

  1. 尝试 - 我有正确的自动完成功能,例如ip命令
  2. 尝试 - 我有正确的自动完成功能,例如floatingstatic命令
  3. 尝试 - 我有不正确的自动完成 - 当前目录中所有文件的列表而不是bar命令。

截屏

这是代码: setup.py

from distutils.core import setup

setup(
    name='sampleclick',
    packages=['sampleclick'],
    entry_points={
        'console_scripts': [
            'sc = sampleclick.shell:cli'
        ]
    },
    install_requires=[
        'click>=6.6',
    ]
)

外壳.py

# coding=utf-8
import click


@click.group()
def cli():
    """Entry point"""


@cli.group()
def ip():
    pass


@ip.group()
def floating():
    pass


@floating.command()
def bar():
    """Is a ip floating command"""


@ip.group()
def static():
    pass


@static.command()
def foo():
    """Is a ip static command"""

我该如何解决?

4

1 回答 1

1

我在 Click 6.6 版本中也遇到了这个错误。我可以通过以下提交证明它在 6.7 版中已为我修复:https ://github.com/pallets/click/commit/8af7ec14f3d936e02c2e4ee62d3573593868e07e 。

于 2018-12-08T04:04:00.880 回答