click
是一个用于创建命令行界面的Python包。
我有这个命令结构。
cli (group - entry point)
-ip (group)
--static (group)
---foo (method)
--floating (group)
---bar (method)
当我按 Tab
Tab
键时:
- 尝试 - 我有正确的自动完成功能,例如
ip
命令 - 尝试 - 我有正确的自动完成功能,例如
float
和静态
命令 - 尝试 - 我不正确自动完成 - 当前目录中所有文件的列表,而不是
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',
]
)
shell.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"""
如何解决这个问题?
最佳答案
我在Click 6.6版本中也遇到了这个bug。我可以证明它已在 6.7 版本中通过以下提交修复:https://github.com/pallets/click/commit/8af7ec14f3d936e02c2e4ee62d3573593868e07e .
关于python - 单击模块自动完成功能在 3 组深度下不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37780146/