Skip to content

运行server报错,提示找不到matcha,但是我现在使用的是py3.12,安装matcha-tts安装不了 #42

@wllcpp

Description

@wllcpp

((venv) ) wll@oem-System-Product-Name:~/work/Fun-Audio-Chat$ python -m web_demo.server.server --model-path pretrained_models/Fun-Audio-Chat-8B --port 11236 --tts-gpu 0
[INFO] Initializing server with Opus sample rate: 24000, Model sample rate: 16000
[INFO] loading s2s model to cuda...
Loading checkpoint shards: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 4/4 [00:00<00:00, 103.64it/s]
[INFO] s2s model loaded (: cuda)
[INFO] waiting for tts model loading ...
[INFO] Output directory: ./output
[INFO] Global TTS process started (pid: 212608)
[INFO] Access the Web UI directly at http://localhost:11236
2026-02-02 13:44:04,746 DEBUG Using selector: EpollSelector
======== Running on http://localhost:11236 ========
(Press CTRL+C to quit)
[INFO] [TTS Process] Starting TTS worker process on cuda:0...
[INFO] [TTS Process] Loading TTS model...
2026-02-02 13:44:07.471 | INFO | utils.cosyvoice_detokenizer:get_audio_detokenizer:87 - cosyvoice cuda: True
Process Process-1:
Traceback (most recent call last):
File "/usr/lib/python3.12/pydoc.py", line 479, in safeimport
module = importlib.import_module(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 999, in exec_module
File "", line 488, in _call_with_frames_removed
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/cosyvoice/flow/flow_matching.py", line 17, in
from matcha.models.components.flow_matching import BASECFM
ModuleNotFoundError: No module named 'matcha'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/usr/lib/python3.12/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/home/wll/work/Fun-Audio-Chat/web_demo/server/server.py", line 72, in tts_worker_process
tts_model = get_audio_detokenizer()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/utils/cosyvoice_detokenizer.py", line 88, in get_audio_detokenizer
cosyvoice3 = CosyVoice3('pretrained_models/Fun-CosyVoice3-0.5B-2512',
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/cosyvoice/cli/cosyvoice.py", line 202, in init
configs = load_hyperpyyaml(f, overrides={'qwen_pretrain_path': os.path.join(model_dir, 'CosyVoice-BlankEN')})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/hyperpyyaml/core.py", line 188, in load_hyperpyyaml
hparams = yaml.load(yaml_stream, Loader=loader)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/yaml/init.py", line 81, in load
return loader.get_single_data()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 114, in get_single_data
return self.construct_document(node)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 118, in construct_document
data = self.construct_object(node)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 145, in construct_object
data = self.construct_non_recursive_object(node)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 186, in construct_non_recursive_object
for _dummy in generator:
^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 629, in construct_yaml_map
value = self.construct_mapping(node)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 427, in construct_mapping
return BaseConstructor.construct_mapping(self, node, deep=deep)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 242, in construct_mapping
value = self.construct_object(value_node, deep=deep)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 145, in construct_object
data = self.construct_non_recursive_object(node)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 181, in construct_non_recursive_object
data = constructor(self, tag_suffix, node)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/hyperpyyaml/core.py", line 480, in _construct_object
args, kwargs = _load_node(loader, node)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/hyperpyyaml/core.py", line 434, in _load_node
kwargs = loader.construct_mapping(node, deep=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 427, in construct_mapping
return BaseConstructor.construct_mapping(self, node, deep=deep)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 242, in construct_mapping
value = self.construct_object(value_node, deep=deep)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 145, in construct_object
data = self.construct_non_recursive_object(node)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 181, in construct_non_recursive_object
data = constructor(self, tag_suffix, node)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/hyperpyyaml/core.py", line 470, in construct_object
callable
= pydoc.locate(callable_string)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/pydoc.py", line 1820, in locate
nextmodule = safeimport('.'.join(parts[:n+1]), forceload)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/pydoc.py", line 493, in safeimport
raise ErrorDuringImport(path, err)
pydoc.ErrorDuringImport: problem in cosyvoice.flow.flow_matching - ModuleNotFoundError: No module named 'matcha'

以下是安装matcha-tts报错:
((venv) ) wll@oem-System-Product-Name:~/work/Fun-Audio-Chat$ pip install matcha-tts
Collecting matcha-tts
Using cached matcha-tts-0.0.7.2.tar.gz (206 kB)
Installing build dependencies ... error
error: subprocess-exited-with-error

× installing build dependencies for matcha-tts did not run successfully.
│ exit code: 1
╰─> [54 lines of output]
Collecting setuptools
Using cached setuptools-80.10.2-py3-none-any.whl.metadata (6.6 kB)
Collecting wheel
Using cached wheel-0.46.3-py3-none-any.whl.metadata (2.4 kB)
Collecting cython==0.29.35
Using cached Cython-0.29.35-py2.py3-none-any.whl.metadata (3.1 kB)
Collecting numpy==1.24.3
Using cached numpy-1.24.3.tar.gz (10.9 MB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'error'
error: subprocess-exited-with-error

    × Getting requirements to build wheel did not run successfully.
    │ exit code: 1
    ╰─> [33 lines of output]
        Traceback (most recent call last):
          File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
            main()
          File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
            json_out["return_val"] = hook(**hook_input["kwargs"])
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 137, in get_requires_for_build_wheel
            backend = _build_backend()
                      ^^^^^^^^^^^^^^^^
          File "/home/wll/work/Fun-Audio-Chat/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 70, in _build_backend
            obj = import_module(mod_path)
                  ^^^^^^^^^^^^^^^^^^^^^^^
          File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
            return _bootstrap._gcd_import(name[level:], package, level)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
          File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
          File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
          File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
          File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
          File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
          File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
          File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
          File "<frozen importlib._bootstrap_external>", line 999, in exec_module
          File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
          File "/tmp/pip-build-env-fckgl9t5/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 16, in <module>
            import setuptools.version
          File "/tmp/pip-build-env-fckgl9t5/overlay/lib/python3.12/site-packages/setuptools/version.py", line 1, in <module>
            import pkg_resources
          File "/tmp/pip-build-env-fckgl9t5/overlay/lib/python3.12/site-packages/pkg_resources/__init__.py", line 2172, in <module>
            register_finder(pkgutil.ImpImporter, find_on_path)
                            ^^^^^^^^^^^^^^^^^^^
        AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?
        [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed to build 'numpy' when getting requirements to build wheel
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed to build 'matcha-tts' when installing build dependencies for matcha-tts

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions