gpt4 book ai didi

python - 在 Windows 上的 Click 命令行界面上修改 Usage 字符串

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

我有一个名为 tdsm 的 Python 包,这是我第一次使用 Armin Ronacher 的 Click 将其转换为命令行界面。包裹。我已经在这个目录结构中设置了我的脚本:

enter image description here

我还创建了一个 setup.py 文件:

from setuptools import setup

setup(
name='tdsm',
version='0.1',
py_modules=['tdsm.scripts.data_manager',
'tdsm.scripts.visuals'],
include_package_data=True,
install_requires=[
'click',
'numpy',
'scipy',
'pandas',
'wand',
'matplotlib',
],
entry_points='''
[console_scripts]
tdsm=tdsm.main:cli
''',
)

pip install --editable . 之后,我得到它的工作,直到一个点:

# tdsm --help

现在发出:

Usage: tdsm-script.py [OPTIONS] COMMAND [ARGS]...

TDSM standard workflow -- typical sequence of commands:

`init <path>` or `open <path>`: to set up the project or to open
a new session on an existing project.

`plot`: framework for setting up plots, display layers, and styling.

Options:

--help Show this message and exit.

Commands:

init Set up a project from scratch.
plot Initialize a plotting session.

请注意用法声明说的是Usage: tdsm-script.py [OPTIONS] COMMAND [ARGS]... 而不是Usage: tdsm [OPTIONS] COMMAND [ARGS]... 我认为应该如此。因为我希望非程序员也能使用它,所以我不希望用户钻研系统寻找不存在的文件...

仔细阅读文档,我可以看到如何更改帮助文本的各个方面,但看不到对 tdsm-script.py 的初始引用。关于我做错了什么的任何指示?

最佳答案

问题已在 GitHub bug discussion thread 中解决通过 Markus Unterwaditzer .我在这里复制它以备记录。

只需使用显式 prog_name 参数调用命令(或组,在我的例子中),因此:

import click

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

@cli.command(short_help='Set up a project from scratch.')
def init():
pass

@cli.command(short_help='Initialise a plotting session.')
def plot():
pass

cli(prog_name='tdsm') # Call with explicit `prog_name`

安装包时,会报告正确的用法:

# tdsm --help
Usage: tdsm [OPTIONS] COMMAND [ARGS]...

关于python - 在 Windows 上的 Click 命令行界面上修改 Usage 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32553969/

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