Skip to content

[BUG] TypeError: Parameter.make_metavar() missing 1 required positional argument: 'ctx' #495

@mcucchi9

Description

@mcucchi9

Summary

After a fresh installation in a conda environment with python=3.12, the fastapi-codegen CLI doesn't work as expected.

Description

I installed the fastapi-codegen CLI via pip (pip install fastapi-code-generator) in a new conda environment with python=3.12, but running fastsapi-codegen --help after the installation results in the following error:

╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ /home/marco/miniforge3/envs/fastapi-code-generatore/bin/fastapi-codegen:7 in <module>                                                                                                                                                                                                                                                        │
│                                                                                                                                                                                                                                                                                                                                              │
│   4 if __name__ == '__main__':                                                               ╭───────────────────── locals ──────────────────────╮                                                                                                                                                                                           │
│   5 │   if sys.argv[0].endswith('.exe'):                                                     │ app = <typer.main.Typer object at 0x78430db307a0> │                                                                                                                                                                                           │
│   6 │   │   sys.argv[0] = sys.argv[0][:-4]                                                   │ sys = <module 'sys' (built-in)>                   │                                                                                                                                                                                           │
│ ❱ 7 │   sys.exit(app())                                                                      ╰───────────────────────────────────────────────────╯                                                                                                                                                                                           │
│   8                                                                                                                                                                                                                                                                                                                                          │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/typer/main.py:338 in __call__                                                                                                                                                                                                                               │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/typer/main.py:321 in __call__                                                                                                                                                                                                                               │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/click/core.py:1462 in __call__                                                                                                                                                                                                                              │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/typer/core.py:665 in main                                                                                                                                                                                                                                   │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/typer/core.py:196 in _main                                                                                                                                                                                                                                  │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/click/core.py:1206 in make_context                                                                                                                                                                                                                          │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/click/core.py:1217 in parse_args                                                                                                                                                                                                                            │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/click/core.py:2516 in handle_parse_result                                                                                                                                                                                                                   │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/click/core.py:2411 in process_value                                                                                                                                                                                                                         │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/click/decorators.py:539 in show_help                                                                                                                                                                                                                        │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/click/core.py:750 in get_help                                                                                                                                                                                                                               │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/click/core.py:1084 in get_help                                                                                                                                                                                                                              │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/typer/core.py:679 in format_help                                                                                                                                                                                                                            │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/typer/rich_utils.py:611 in rich_format_help                                                                                                                                                                                                                 │
│                                                                                                                                                                                                                                                                                                                                              │
│ /home/marco/miniforge3/envs/fastapi-code-generatore/lib/python3.12/site-packages/typer/rich_utils.py:370 in _print_options_panel                                                                                                                                                                                                             │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
TypeError: Parameter.make_metavar() missing 1 required positional argument: 'ctx'

Steps to Reproduce

  1. Create a new conda environment: conda create -n fastapi-codegen python=3.12;
  2. Activate the conda environment: conda activate fastapi-codegen;
  3. Install fastapi-code-generator: pip install fastapi-code-generator;
  4. Run the following command: fastapi-codegen --help

Environment

  • OS: Ubuntu 24.04
  • Python Version: 3.12.12
  • Package Version: 0.5.4

Possible Solution

I found a similar issue here: ai-dynamo/dynamo#1039. The proposed workaround, i.e. imposing click<8.2.0, has worked for me.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions