daswer123 / rvc-python

Using RVC via console or python scripts
MIT License
55 stars 15 forks source link

ValueError: mutable default <class 'fairseq.dataclass.configs.CommonConfig'> for field common is not allowed: use default_factory #4

Open alcoftTAO opened 7 months ago

alcoftTAO commented 7 months ago

I have this error when trying to use rvc_python.infer.

Traceback:

Traceback (most recent call last):
  File "/home/alcoft/Projects/Tests_I4.0/LibI4/Python_AI/ai_server_all.py", line 1, in <module>
    import ai_server
  File "/home/alcoft/Projects/Tests_I4.0/LibI4/Python_AI/ai_server.py", line 9, in <module>
    import chatbot_all as cb
  File "/home/alcoft/Projects/Tests_I4.0/LibI4/Python_AI/chatbot_all.py", line 13, in <module>
    import Inference.rvc_inf as rvc
  File "/home/alcoft/Projects/Tests_I4.0/LibI4/Python_AI/Inference/rvc_inf.py", line 1, in <module>
    from rvc_python.infer import infer_file
  File "/home/alcoft/Projects/Tests_I4.0/.venv/lib/python3.11/site-packages/rvc_python/__init__.py", line 1, in <module>
    import rvc_python.infer
  File "/home/alcoft/Projects/Tests_I4.0/.venv/lib/python3.11/site-packages/rvc_python/infer.py", line 2, in <module>
    from rvc_python.modules.vc.modules import VC
  File "/home/alcoft/Projects/Tests_I4.0/.venv/lib/python3.11/site-packages/rvc_python/modules/vc/modules.py", line 19, in <module>
    from rvc_python.modules.vc.utils import *
  File "/home/alcoft/Projects/Tests_I4.0/.venv/lib/python3.11/site-packages/rvc_python/modules/vc/utils.py", line 3, in <module>
    from fairseq import checkpoint_utils
  File "/home/alcoft/Projects/Tests_I4.0/.venv/lib/python3.11/site-packages/fairseq/__init__.py", line 20, in <module>
    from fairseq.distributed import utils as distributed_utils
  File "/home/alcoft/Projects/Tests_I4.0/.venv/lib/python3.11/site-packages/fairseq/distributed/__init__.py", line 7, in <module>
    from .fully_sharded_data_parallel import (
  File "/home/alcoft/Projects/Tests_I4.0/.venv/lib/python3.11/site-packages/fairseq/distributed/fully_sharded_data_parallel.py", line 10, in <module>
    from fairseq.dataclass.configs import DistributedTrainingConfig
  File "/home/alcoft/Projects/Tests_I4.0/.venv/lib/python3.11/site-packages/fairseq/dataclass/__init__.py", line 6, in <module>
    from .configs import FairseqDataclass
  File "/home/alcoft/Projects/Tests_I4.0/.venv/lib/python3.11/site-packages/fairseq/dataclass/configs.py", line 1104, in <module>
    @dataclass
     ^^^^^^^^^
  File "/usr/lib/python3.11/dataclasses.py", line 1230, in dataclass
    return wrap(cls)
           ^^^^^^^^^
  File "/usr/lib/python3.11/dataclasses.py", line 1220, in wrap
    return _process_class(cls, init, repr, eq, order, unsafe_hash,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/dataclasses.py", line 958, in _process_class
    cls_fields.append(_get_field(cls, name, type, kw_only))
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/dataclasses.py", line 815, in _get_field
    raise ValueError(f'mutable default {type(f.default)} for field '
ValueError: mutable default <class 'fairseq.dataclass.configs.CommonConfig'> for field common is not allowed: use default_factory
kassieclaire commented 6 months ago

Also running into this error, using Python version 3.11. Any users not running into this error on another Python version?

Phlayne commented 5 months ago

They had similar problem here: https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/issues/1155 And here: https://github.com/facebookresearch/fairseq/issues/5012 Using python 3.9 fixes this. There is also a PR that fixes this here: https://github.com/facebookresearch/fairseq/pull/5359

(However now I am having this bug: https://github.com/daswer123/rvc-python/issues/7)