so-vits-svc-fork icon indicating copy to clipboard operation
so-vits-svc-fork copied to clipboard

PyWorld wheels build fails on macOS (M2 Max)

Open KunalBagaria opened this issue 1 year ago • 5 comments

Describe the bug

I've been trying to install the vits program on my mac but unfortunately it seems to be failing while installing the actual program itself. Here are the logs to help debug this issue. I've already installed the dependencies and I'm running Python version 3.10.0

╭─kunalbagaria at 10 in ⌁/Desktop/programming
╰(vits)─λ pip install -U so-vits-svc-fork

[...Skipped previous logs]

Building wheels for collected packages: pyworld
  Building wheel for pyworld (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for pyworld (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [107 lines of output]
      /private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/dist.py:509: InformationOnly: Normalizing 'v0.3.3' to '0.3.3'
        self.metadata.version = self._normalize_version(
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-13.4-arm64-cpython-310
      creating build/lib.macosx-13.4-arm64-cpython-310/pyworld
      copying pyworld/__init__.py -> build/lib.macosx-13.4-arm64-cpython-310/pyworld
      running build_ext
      /private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-install-dp78mixn/pyworld_563f66d7499444f9ade39d7ae177f15b/pyworld/pyworld.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      Compiling pyworld/pyworld.pyx because it changed.
      [1/1] Cythonizing pyworld/pyworld.pyx
      Traceback (most recent call last):
        File "/Users/kunalbagaria/.pyenv/versions/3.10.0/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/kunalbagaria/.pyenv/versions/3.10.0/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/Users/kunalbagaria/.pyenv/versions/3.10.0/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 416, in build_wheel
          return self._build_with_temp_dir(['bdist_wheel'], '.whl',
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 401, in _build_with_temp_dir
          self.run_setup()
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 487, in run_setup
          super(_BuildMetaLegacyBackend,
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 338, in run_setup
          exec(code, locals())
        File "<string>", line 27, in <module>
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/__init__.py", line 107, in setup
          return distutils.core.setup(**attrs)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 1234, in run_command
          super().run_command(command)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/wheel/bdist_wheel.py", line 343, in run
          self.run_command("build")
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 1234, in run_command
          super().run_command(command)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 131, in run
          self.run_command(cmd_name)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 1234, in run_command
          super().run_command(command)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 84, in run
          _build_ext.run(self)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
          self.build_extensions()
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
          self._build_extensions_serial()
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
          self.build_extension(ext)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 246, in build_extension
          _build_ext.build_extension(self, ext)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/Cython/Distutils/build_ext.py", line 122, in build_extension
          new_ext = cythonize(
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize
          cythonize_one(*args)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1280, in cythonize_one
          result = compile_single(pyx_file, options, full_module_name=full_module_name)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/Cython/Compiler/Main.py", line 615, in compile_single
          return run_pipeline(source, options, full_module_name)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/Cython/Compiler/Main.py", line 539, in run_pipeline
          err, enddata = Pipeline.run_pipeline(pipeline, source)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/Cython/Compiler/Pipeline.py", line 398, in run_pipeline
          data = run(phase, data)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/Cython/Compiler/Pipeline.py", line 375, in run
          return phase(data)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/Cython/Compiler/Pipeline.py", line 52, in generate_pyx_code_stage
          module_node.process_implementation(options, result)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/Cython/Compiler/ModuleNode.py", line 222, in process_implementation
          self.generate_c_code(env, options, result)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/Cython/Compiler/ModuleNode.py", line 490, in generate_c_code
          self.generate_module_preamble(env, options, modules, result.embedded_metadata, h_code)
        File "/private/var/folders/nl/ttl8yrb13k3_v97qnc5x4ynw0000gn/T/pip-build-env-wt1wf1ma/overlay/lib/python3.10/site-packages/Cython/Compiler/ModuleNode.py", line 773, in generate_module_preamble
          code.putln(json.dumps(metadata, indent=4, sort_keys=True))
        File "/Users/kunalbagaria/.pyenv/versions/3.10.0/lib/python3.10/json/__init__.py", line 238, in dumps
          **kw).encode(obj)
        File "/Users/kunalbagaria/.pyenv/versions/3.10.0/lib/python3.10/json/encoder.py", line 201, in encode
          chunks = list(chunks)
        File "/Users/kunalbagaria/.pyenv/versions/3.10.0/lib/python3.10/json/encoder.py", line 431, in _iterencode
          yield from _iterencode_dict(o, _current_indent_level)
        File "/Users/kunalbagaria/.pyenv/versions/3.10.0/lib/python3.10/json/encoder.py", line 405, in _iterencode_dict
          yield from chunks
        File "/Users/kunalbagaria/.pyenv/versions/3.10.0/lib/python3.10/json/encoder.py", line 405, in _iterencode_dict
          yield from chunks
        File "/Users/kunalbagaria/.pyenv/versions/3.10.0/lib/python3.10/json/encoder.py", line 325, in _iterencode_list
          yield from chunks
        File "/Users/kunalbagaria/.pyenv/versions/3.10.0/lib/python3.10/json/encoder.py", line 438, in _iterencode
          o = _default(o)
        File "/Users/kunalbagaria/.pyenv/versions/3.10.0/lib/python3.10/json/encoder.py", line 179, in default
          raise TypeError(f'Object of type {o.__class__.__name__} '
      TypeError: Object of type PosixPath is not JSON serializable
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pyworld
Failed to build pyworld
ERROR: Could not build wheels for pyworld, which is required to install pyproject.toml-based projects

To Reproduce

Reproduce with macOS 13.4 (22F2063) running Python version 3.10.0.

Run the installation command:

pip install -U so-vits-svc-fork

Additional context

No response

Version

4.1.1

Platform

macOS 13.4 (22F2063)

Code of Conduct

  • [X] I agree to follow this project's Code of Conduct.

No Duplicate

  • [X] I have checked existing issues to avoid duplicates.

KunalBagaria avatar Jul 17 '23 17:07 KunalBagaria

can also confirm that this just started happening in docker (pytorchlightning/pytorch_lightning:base-cuda-py3.10-torch2.0-cuda11.7.1) as of this morning. probably some latent dependency got bumped but haven't found which yet

lukasschmit avatar Jul 17 '23 21:07 lukasschmit

adding that I'm fairly confident that cython being bumped to 3.0.0 is causing this issue. timeline adds up & its a cython error. unfortunately pinning cython<3.0.0 before installing pyworld/sovits does not fix this.

lukasschmit avatar Jul 17 '23 21:07 lukasschmit

can confirm this is also happening in google colab

yoyoitsevan avatar Jul 18 '23 05:07 yoyoitsevan

try my answer here: https://github.com/voicepaw/so-vits-svc-fork/issues/837

pusemuckel888 avatar Jul 18 '23 12:07 pusemuckel888

Yep, svc installation worked after manually installing pyworld and numpy's appropriate versions

KunalBagaria avatar Jul 18 '23 17:07 KunalBagaria