Skip to content

[bug] json_schema_to_python_type で TypeError: argument of type 'bool' is not iterable Mac (Apple Silicon, macOS 14) で RVC-WebUI-MacOS 起動時に Gradio 4.44.1 + gradio-client 1.3.0 が TypeError: argument of type 'bool' is not iterable で API 情報生成に失敗する #6

@YUTAKAINOMA

Description

@YUTAKAINOMA

環境:

  • Machine: MacBook Pro M1
  • OS: macOS 26.2
  • Python: 3.10(venv 使用)
  • RVC-WebUI-MacOS: NevilPatel01/RVC-WebUI-MacOS の最新版をクリーンチェックアウト
  • Gradio: 4.44.1
  • gradio-client: 1.3.0
    実行コマンド:

bash
cd RVC-WebUI-MacOS
source .venv/bin/activate
python web.py
Gradio / gradio-client は次の手順でクリーンインストールしました:

bash
pip uninstall -y gradio gradio-client
pip install "gradio==4.44.1" "gradio-client==1.3.0"
python -c "import gradio, gradio_client; print(gradio.version, gradio_client.version)"

4.44.1 1.3.0 と表示

その上で python web.py を実行すると、WebUI 自体はブラウザで表示されるものの、
起動時に Gradio の API 情報生成部分で次のエラーが繰り返し発生します:

text
File ".../gradio/routes.py", line 460, in api_info
app.api_info = app.get_blocks().get_api_info()
File ".../gradio/blocks.py", line 2785, in get_api_info
python_type = client_utils.json_schema_to_python_type(info)
File ".../gradio_client/utils.py", line 893, in json_schema_to_python_type
type_ = _json_schema_to_python_type(schema, schema.get("$defs"))
...
File ".../gradio_client/utils.py", line 863, in get_type
if "const" in schema:
TypeError: argument of type 'bool' is not iterable
こちらで確認したこと:

  • Gradio / gradio-client のバージョンを 4.36.1 / 1.0.1 などに変えても同様のエラーが出るケースがあり、
4.44.1 / 1.3.0 に固定した状態でも再現しています。
  • RVC-WebUI-MacOS 側のソース(特に gradio.routes.py)は一切編集していません。
    質問:
  1. この TypeError: argument of type 'bool' is not iterable は、Gradio / gradio-client 側の既知の問題でしょうか?
  2. RVC-WebUI-MacOS のような大規模な Blocks 構成で、app.get_blocks().get_api_info() をスキップする、
もしくは API 情報生成を無効化する公式/推奨の方法があれば教えてください。
  3. WebUI をローカルからブラウザで触るだけであれば、API 情報生成を完全にオフにしても問題ありませんか?
    なお、目的としては「ローカルブラウザの WebUI から pm ピッチ推定で音声変換を行うだけ」で、
gradio-client 経由で外部から API を叩く予定はありません。
    よろしくお願いします。

この文面を少し変えたい(例えば「ログをもっと削る」「環境の説明を短くしたい」など)があれば、そのまま希望を書いてもらえれば調整します。
並行して、今の WebUI 画面から pm 変換を押したときに実際に変換は通っているかどうか(mp3/wav がダウンロードできるか)も確認しておくと、テンプレに「UI 操作自体は成功している/していない」を一行足せます。

これでいいですか?Mac (Apple Silicon, macOS 14) で RVC-WebUI-MacOS 起動時に Gradio 4.44.1 + gradio-client 1.3.0 が TypeError: argument of type 'bool' is not iterable で API 情報生成に失敗する

環境:

Machine: MacBook Pro M1

OS: macOS 26.2

Python: 3.10(venv 使用)

RVC-WebUI-MacOS: NevilPatel01/RVC-WebUI-MacOS の最新版をクリーンチェックアウト

Gradio: 4.44.1

gradio-client: 1.3.0

実行コマンド:
cd RVC-WebUI-MacOS
source .venv/bin/activate
python web.py

Gradio / gradio-client は次の手順でクリーンインストールしました:
pip uninstall -y gradio gradio-client
pip install "gradio==4.44.1" "gradio-client==1.3.0"
python -c "import gradio, gradio_client; print(gradio.version, gradio_client.version)"

4.44.1 1.3.0 と表示

その上で python web.py を実行すると、WebUI 自体はブラウザで表示されるものの、
起動時に Gradio の API 情報生成部分で次のエラーが繰り返し発生します:
File ".../gradio/routes.py", line 460, in api_info
    app.api_info = app.get_blocks().get_api_info()
File ".../gradio/blocks.py", line 2785, in get_api_info
    python_type = client_utils.json_schema_to_python_type(info)
File ".../gradio_client/utils.py", line 893, in json_schema_to_python_type
    type_ = _json_schema_to_python_type(schema, schema.get("$defs"))
...
File ".../gradio_client/utils.py", line 863, in get_type
    if "const" in schema:
TypeError: argument of type 'bool' is not iterable

こちらで確認したこと:

Gradio / gradio-client のバージョンを 4.36.1 / 1.0.1 などに変えても同様のエラーが出るケースがあり、
4.44.1 / 1.3.0 に固定した状態でも再現しています。

RVC-WebUI-MacOS 側のソース(特に gradio.routes.py)は一切編集していません。

質問:

この TypeError: argument of type 'bool' is not iterable は、Gradio / gradio-client 側の既知の問題でしょうか?

RVC-WebUI-MacOS のような大規模な Blocks 構成で、app.get_blocks().get_api_info() をスキップする、
もしくは API 情報生成を無効化する公式/推奨の方法があれば教えてください。

WebUI をローカルからブラウザで触るだけであれば、API 情報生成を完全にオフにしても問題ありませんか?

なお、目的としては「ローカルブラウザの WebUI から pm ピッチ推定で音声変換を行うだけ」で、
gradio-client 経由で外部から API を叩く予定はありません。
よろしくお願いします。

ほぼ完璧ですが、2 点だけ直した方がよいです。

  • OS バージョンが macOS 26.2 になっているので、実際のもの(たぶん 14.x 系)に直す
  • 冒頭のタイトル行と本文の最初の行を少しだけ整える
    修正版をそのまま貼れる形で書きます。

タイトル案
Mac (Apple Silicon, macOS 14) で RVC-WebUI-MacOS 起動時に Gradio 4.44.1 + gradio-client 1.3.0 が TypeError: argument of type 'bool' is not iterable で API 情報生成に失敗する
本文
環境:

  • Machine: MacBook Pro M1
  • OS: macOS 14.x
  • Python: 3.10(venv 使用)
  • RVC-WebUI-MacOS: NevilPatel01/RVC-WebUI-MacOS の最新版をクリーンチェックアウト
  • Gradio: 4.44.1
  • gradio-client: 1.3.0
    実行コマンド:

bash
cd RVC-WebUI-MacOS
source .venv/bin/activate
python web.py
Gradio / gradio-client は次の手順でクリーンインストールしました:

bash
pip uninstall -y gradio gradio-client
pip install "gradio==4.44.1" "gradio-client==1.3.0"
python -c "import gradio, gradio_client; print(gradio.version, gradio_client.version)"

4.44.1 1.3.0 と表示

その上で python web.py を実行すると、WebUI 自体はブラウザで表示されるものの、
起動時に Gradio の API 情報生成部分で次のエラーが繰り返し発生します:

text
File ".../gradio/routes.py", line 460, in api_info
app.api_info = app.get_blocks().get_api_info()
File ".../gradio/blocks.py", line 2785, in get_api_info
python_type = client_utils.json_schema_to_python_type(info)
File ".../gradio_client/utils.py", line 893, in json_schema_to_python_type
type_ = _json_schema_to_python_type(schema, schema.get("$defs"))
...
File ".../gradio_client/utils.py", line 863, in get_type
if "const" in schema:
TypeError: argument of type 'bool' is not iterable
こちらで確認したこと:

  • Gradio / gradio-client のバージョンを 4.36.1 / 1.0.1 などに変えても同様のエラーが出るケースがあり、4.44.1 / 1.3.0 に固定した状態でも再現しています。
  • RVC-WebUI-MacOS 側のソース(特に gradio/routes.py)は一切編集していません。
    質問:
  1. この TypeError: argument of type 'bool' is not iterable は、Gradio / gradio-client 側の既知の問題でしょうか?
  2. RVC-WebUI-MacOS のような大規模な Blocks 構成で、app.get_blocks().get_api_info() をスキップする、もしくは API 情報生成を無効化する公式/推奨の方法があれば教えてください。
  3. WebUI をローカルからブラウザで触るだけであれば、API 情報生成を完全にオフにしても問題ありませんか?
    なお、目的としては「ローカルブラウザの WebUI から pm ピッチ推定で音声変換を行うだけ」で、
gradio-client 経由で外部から API を叩く予定はありません。
    よろしくお願いします。

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