Improve error message when required argument is missing
評估
研究方向
首先定位 Python Fire 的命令列引數解析邏輯,以及對缺少必要位置引數時 TypeError 例外的處理。重現 greet 範例,接著確認如何取得缺少的引數名稱和使用方式資訊;完成的標準是:命令回報友善的缺少引數錯誤並提供使用方式提示,而不是通用的 traceback。
由索引模型根據 Issue 內容生成。
描述
Description
When a required function argument is not provided via the command line, Python Fire raises a generic TypeError that doesn't clearly indicate which argument is missing or how to provide it.
Current Behavior
$ python my_script.py greet
TypeError: greet() missing 1 required positional argument: 'name'
Expected Behavior
A more user-friendly error message that would guide the user:
$ python my_script.py greet
Error: Missing required argument 'name'
Usage: my_script.py greet <name>
Motivation
This would significantly improve the user experience, especially for new users who are unfamiliar with Python tracebacks. Clear error messages are crucial for CLI tools.
Environment
- Python Fire version: 0.7.1
- Python version: 3.11
- OS: macOS
Possible Solution
Catch TypeError exceptions in the argument parsing logic and check if they're related to missing arguments, then provide a more descriptive message with usage hints.
- 主要語言
- Python
- 星號
- 28.2k
- 分支
- 1.5k
- PR 合併指標
- 30 天內沒有已合併 PR
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
google/python-fire 的其他 Issue
-
WrappedJoin adds an empty line before an oversized first item可能已有人在做 @GreedyC 於 6 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 76/100
google/python-fire#705 ·
-
Brace-based template arguments crash literal parsing with TypeError可能已有人在做 @codewithfourtix 於 6 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 76/100
google/python-fire#703 ·
-
Test suite fails on Windows: unescaped path regex in testArgPassing, NamedTemporaryFile reopen in testFileNameFire可能已有人在做 關聯的 PR 仍在進行中或已合併。 未關閉
難度 2/5 1-3 小時 新手友好度 85/100
google/python-fire#693 ·
-
Mio ❤️未關閉
難度 5/5 一週以上 新手友好度 1/100
google/python-fire#709 · 2 則留言 ·
-
2083未關閉
難度 5/5 一週以上 新手友好度 5/100
google/python-fire#708 ·
查看 google/python-fire 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 68/100
pyjanitor-devs/pyjanitor#1758 ·
維護者通常 1 天內回覆
-
bug ready for review
難度 2/5 1-3 小時 新手友好度 86/100
odysseus-dev/odysseus#6641 ·
維護者通常 1 天內回覆
-
bug
難度 2/5 1-3 小時 新手友好度 76/100
happypawspillaro/happypaws#78 ·
維護者通常 4 天內回覆
-
pydanty:is-working
難度 2/5 1-3 小時 新手友好度 82/100
pydantic/pydantic-ai#10020 ·
維護者通常 1 天內回覆
-
stdlib type-bug
難度 2/5 1-3 小時 新手友好度 68/100
python/cpython#159044 · 4 則留言 ·
維護者通常 1 天內回覆