GithubHelp home page GithubHelp logo

jianchang512 / vocal-separate Goto Github PK

View Code? Open in Web Editor NEW
1.2K 8.0 128.0 119.51 MB

an extremely simple tool for separating vocals and background music, completely localized for web operation, using 2stems/4stems/5stems models 这是一个极简的人声和背景音乐分离工具,本地化网页操作,无需连接外网

Home Page: https://pyvideotrans.com

License: GNU General Public License v3.0

Python 61.43% HTML 38.57%
music-separation spleeter vocal-separation voice-separation

vocal-separate's Introduction

English README / 👑捐助该项目 / Discord

音乐人声分离工具

这是一个极简的人声和背景音乐分离工具,本地化网页操作,无需连接外网,使用 2stems/4stems/5stems 模型。

将一首歌曲或者含有背景音乐的音视频文件,拖拽到本地网页中,即可将其中的人声和音乐声分离为单独的音频wav文件,可选单独分离“钢琴声”、“贝斯声”、“鼓声”等

自动调用本地浏览器打开本地网页,模型已内置,无需连接外网下载。

支持视频(mp4/mov/mkv/avi/mpeg)和音频(mp3/wav)格式

只需点两下鼠标,一选择音视频文件,二启动处理。

[赞助商]

302.AI 是一个汇集全球顶级AI的自助平台,按需付费,零月费,零门槛使用各种类型AI。

点击注册: 立即获得 1PTC(1PTC=1美金,约为7人民币)代币。通过链接试用每天有5ptc额度

功能全面: 将最好用的AI集成到在平台之上,包括不限于AI聊天,图片生成,图片处理,视频生成,全方位覆盖。

简单易用: 提供机器人,工具和API多种使用方法,可以满足从小白到开发者多种角色的需求。

按需付费,零门槛: 不提供月付套餐,对产品不设任何门槛,按需付费,全部开放。充值余额永久有效。

管理者和使用者分离: 管理者一键分享,使用者无需登录。使用者无需关心复杂的AI设置,让懂AI的人来配置,简化使用流程。

视频演示

vocal-chinese.mp4

image

预编译Win版使用方法/Linux和Mac源码部署

  1. 点击此处打开Releases页面下载预编译文件

  2. 下载后解压到某处,比如 E:/vocal-separate

  3. 双击 start.exe ,等待自动打开浏览器窗口即可

  4. 点击页面中的上传区域,在弹窗中找到想分离的音视频文件,或直接拖拽音频文件到上传区域,然后点击“立即分离”,稍等片刻,底部会显示每个分离文件以及播放控件,点击播放。

  5. 如果机器拥有英伟达GPU,并正确配置了CUDA环境,将自动使用CUDA加速

源码部署(Linux/Mac/Window)

  1. 要求 python 3.9->3.11

  2. 创建空目录,比如 E:/vocal-separate, 在这个目录下打开 cmd 窗口,方法是地址栏中输入 cmd, 然后回车。

    使用git拉取源码到当前目录 git clone [email protected]:jianchang512/vocal-separate.git .

  3. 创建虚拟环境 python -m venv venv

  4. 激活环境,win下命令 %cd%/venv/scripts/activate,linux和Mac下命令 source ./venv/bin/activate

  5. 安装依赖: pip install -r requirements.txt

  6. win下解压 ffmpeg.7z,将其中的ffmpeg.exeffprobe.exe放在项目目录下, linux和mac 到 ffmpeg官网下载对应版本ffmpeg,解压其中的ffmpegffprobe二进制程序放到项目根目录下

  7. 下载模型压缩包,在项目根目录下的 pretrained_models 文件夹中解压,解压后,pretrained_models中将有3个文件夹,分别是2stems/3stems/5stems

  8. 执行 python start.py ,等待自动打开本地浏览器窗口。

API 接口

接口地址: http://127.0.0.1:9999/api

请求方法: POST

请求参数:

file: 要分离的音视频文件

model: 模型名称 2stems,4stems,5stems

返回响应: json code:int, 0 处理成功完成,>0 出错

msg:str,  出错时填充错误信息

data: List[str], 每个分离后的wav url地址,例如 ['http://127.0.0.1:9999/static/files/2/accompaniment.wav']

status_text: dict[str,str], 每个分离后wav文件的包含信息,{'accompaniment': '伴奏', 'bass': '低音', 'drums': '鼓', 'other': '其他', 'piano': '琴', 'vocals': '人声'}
import requests
# 请求地址
url = "http://127.0.0.1:9999/api"
files = {"file": open("C:\\Users\\c1\\Videos\\2.wav", "rb")}
data={"model":"2stems"}
response = requests.request("POST", url, timeout=600, data=data,files=files)
print(response.json())

{'code': 0, 'data': ['http://127.0.0.1:9999/static/files/2/accompaniment.wav', 'http://127.0.0.1:9999/static/files/2/vocals.wav'], 'msg': '分离成功
', 'status_text': {'accompaniment': '伴奏', 'bass': '低音', 'drums': '鼓', 'other': '其他', 'piano': '琴', 'vocals': '人声'}}


CUDA 加速支持

安装CUDA工具 详细安装方法

如果你的电脑拥有 Nvidia 显卡,先升级显卡驱动到最新,然后去安装对应的 CUDA Toolkit 11.8cudnn for CUDA11.X

安装完成成,按Win + R,输入 cmd然后回车,在弹出的窗口中输入nvcc --version,确认有版本信息显示,类似该图 image

然后继续输入nvidia-smi,确认有输出信息,并且能看到cuda版本号,类似该图 image

注意事项

  1. 中文音乐或中式乐器,建议选择使用2stems模型,其他模型对“钢琴、贝斯、鼓”可单独分离出文件
  2. 如果电脑没有NVIDIA显卡或未配置cuda环境,不要选择 4stems和5stems模型,尤其是处理较长时长的音频时, 否则很可能耗尽内存

致谢

本项目主要依赖的其他项目

  1. https://github.com/deezer/spleeter
  2. https://github.com/pallets/flask
  3. https://ffmpeg.org/
  4. https://layui.dev

vocal-separate's People

Contributors

jianchang512 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vocal-separate's Issues

戏曲分离优化

我测试了歌曲分离效果特别好,但是戏曲分离不恨理想,可能是传统乐器适配不太好。总体还是很好用的。

Win11 python 3.11 unable to finish requirements.txt - Numpy

Error

Collecting numpy<1.19.0,>=1.16.0 (from spleeter->-r requirements.txt (line 5))
Downloading numpy-1.18.5.zip (5.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.4/5.4 MB 86.2 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error

× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [90 lines of output]
Running from numpy source directory.
:461: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
C:\Users\user\AppData\Local\Temp\pip-install-5gc9rfl0\numpy_e963657ba9e14370aaf0e3a1b20de7c2\tools\cythonize.py:75: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
required_version = LooseVersion('0.29.14')
C:\Users\user\AppData\Local\Temp\pip-install-5gc9rfl0\numpy_e963657ba9e14370aaf0e3a1b20de7c2\tools\cythonize.py:77: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
if LooseVersion(cython_version) < required_version:
performance hint: _common.pyx:261:19: Exception check after calling 'random_func' will always require the GIL to be acquired. Declare 'random_func' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:285:19: Exception check after calling 'random_func' will always require the GIL to be acquired. Declare 'random_func' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:308:50: Exception check after calling 'random_func' will always require the GIL to be acquired. Declare 'random_func' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:411:31: Exception check after calling 'f' will always require the GIL to be acquired. Declare 'f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:448:31: Exception check after calling 'f' will always require the GIL to be acquired. Declare 'f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:490:31: Exception check after calling 'f' will always require the GIL to be acquired. Declare 'f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:573:36: Exception check after calling 'f0' will always require the GIL to be acquired. Declare 'f0' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:577:36: Exception check after calling 'f1' will always require the GIL to be acquired. Declare 'f1' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:581:36: Exception check after calling 'f2' will always require the GIL to be acquired. Declare 'f2' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:585:36: Exception check after calling 'f3' will always require the GIL to be acquired. Declare 'f3' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:617:31: Exception check after calling 'f' will always require the GIL to be acquired. Declare 'f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:652:31: Exception check after calling 'f' will always require the GIL to be acquired. Declare 'f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:687:63: Exception check after calling 'f' will always require the GIL to be acquired. Declare 'f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:727:31: Exception check after calling 'f' will always require the GIL to be acquired. Declare 'f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:756:31: Exception check after calling 'f' will always require the GIL to be acquired. Declare 'f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:874:40: Exception check after calling 'f0' will always require the GIL to be acquired. Declare 'f0' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:878:40: Exception check after calling 'fd' will always require the GIL to be acquired. Declare 'fd' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:882:41: Exception check after calling 'fdd' will always require the GIL to be acquired. Declare 'fdd' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:887:40: Exception check after calling 'fi' will always require the GIL to be acquired. Declare 'fi' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:891:41: Exception check after calling 'fdi' will always require the GIL to be acquired. Declare 'fdi' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:895:38: Exception check after calling 'fiii' will always require the GIL to be acquired. Declare 'fiii' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:930:31: Exception check after calling 'f' will always require the GIL to be acquired. Declare 'f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _common.pyx:972:32: Exception check after calling 'f1' will always require the GIL to be acquired. Declare 'f1' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
performance hint: _generator.pyx:811:41: Exception check after calling '_shuffle_int' will always require the GIL to be acquired.
Possible solutions:
1. Declare '_shuffle_int' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
2. Use an 'int' return type on '_shuffle_int' to allow an error code to be returned.
performance hint: _generator.pyx:840:45: Exception check after calling '_shuffle_int' will always require the GIL to be acquired.
Possible solutions:
1. Declare '_shuffle_int' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
2. Use an 'int' return type on '_shuffle_int' to allow an error code to be returned.

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          for i in range(1, RK_STATE_LEN):
              self.rng_state.key[i] = val[i]
          self.rng_state.pos = i

          self._bitgen.state = &self.rng_state
          self._bitgen.next_uint64 = &mt19937_uint64
                                     ^
  ------------------------------------------------------------

  _mt19937.pyx:138:35: Cannot assign type 'uint64_t (*)(void *) except? -1 nogil' to 'uint64_t (*)(void *) noexcept nogil'. Exception values are incompatible. Suggest adding 'noexcept' to the type of the value being assigned.
  Processing numpy/random\_bounded_integers.pxd.in
  Processing numpy/random\mtrand.pyx
  Processing numpy/random\_bit_generator.pyx
  Processing numpy/random\_bounded_integers.pyx.in
  Processing numpy/random\_common.pyx
  Processing numpy/random\_generator.pyx
  Processing numpy/random\_mt19937.pyx
  Traceback (most recent call last):
    File "C:\Users\user\AppData\Local\Temp\pip-install-5gc9rfl0\numpy_e963657ba9e14370aaf0e3a1b20de7c2\tools\cythonize.py", line 238, in <module>
      main()
    File "C:\Users\user\AppData\Local\Temp\pip-install-5gc9rfl0\numpy_e963657ba9e14370aaf0e3a1b20de7c2\tools\cythonize.py", line 234, in main
      find_process_files(root_dir)
    File "C:\Users\user\AppData\Local\Temp\pip-install-5gc9rfl0\numpy_e963657ba9e14370aaf0e3a1b20de7c2\tools\cythonize.py", line 225, in find_process_files
      process(root_dir, fromfile, tofile, function, hash_db)
    File "C:\Users\user\AppData\Local\Temp\pip-install-5gc9rfl0\numpy_e963657ba9e14370aaf0e3a1b20de7c2\tools\cythonize.py", line 191, in process
      processor_function(fromfile, tofile)
    File "C:\Users\user\AppData\Local\Temp\pip-install-5gc9rfl0\numpy_e963657ba9e14370aaf0e3a1b20de7c2\tools\cythonize.py", line 80, in process_pyx
      subprocess.check_call(
    File "C:\python310\lib\subprocess.py", line 369, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['C:\\code\\audio\\vocal-separate\\venv\\Scripts\\python.exe', '-m', 'cython', '-3', '--fast-fail', '-o', '_mt19937.c', '_mt19937.pyx']' returned non-zero exit status 1.
  Cythonizing sources
  Traceback (most recent call last):
    File "C:\code\audio\vocal-separate\venv\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
      main()
    File "C:\code\audio\vocal-separate\venv\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "C:\code\audio\vocal-separate\venv\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 149, in prepare_metadata_for_build_wheel
      return hook(metadata_directory, config_settings)
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-gn8vj0ej\overlay\Lib\site-packages\setuptools\build_meta.py", line 366, in prepare_metadata_for_build_wheel
      self.run_setup()
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-gn8vj0ej\overlay\Lib\site-packages\setuptools\build_meta.py", line 487, in run_setup
      super().run_setup(setup_script=setup_script)
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-gn8vj0ej\overlay\Lib\site-packages\setuptools\build_meta.py", line 311, in run_setup
      exec(code, locals())
    File "<string>", line 488, in <module>
    File "<string>", line 469, in setup_package
    File "<string>", line 275, in generate_cython
  RuntimeError: Running cythonize failed!
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

(venv) C:\code\audio\vocal-separate>

tensorflow these package versions have conflicting dependencies

ERROR: Cannot install -r requirements.txt (line 5) and tensorflow because these package versions have conflicting dependencies.

The conflict is caused by:
tensorflow-intel 2.16.1 depends on numpy<2.0.0 and >=1.26.0; python_version >= "3.12"
spleeter 2.1.0 depends on numpy<1.19.0 and >=1.16.0

To fix this you could try to:

  1. loosen the range of package versions you've specified
  2. remove package versions to allow pip attempt to solve the dependency conflict

English Readme? and English vocal separation?

Hello,
Does this technology work with all languages or it was trained only on chinese?
Also could you provide english version of the ReadMe please? I could not follow! Too much info
Thanks

audios longer than 10 minutes

Hello friend!
In both the "4stems" model and the "2stems" model I only receive audios of 10 minutes maximum. The original video is 22 minutes.

How can I get an accompaniment or vocals audio of the same size as the original?
Thank you very much for your work.

你好,朋友!
无论是 "4stems "模式还是 "2stems "模式,我都只能收到最长 10 分钟的音频。原始视频为 22 分钟。

我怎样才能获得与原始视频同样大小的伴奏或人声音频?
非常感谢你们的工作。

asdwd

源码部署失败

3.11.0
3.10.11
都安装失败,查看 spleeter 仓库的 issues 发现不兼容高版本
用conda 3.8 成功安装,同时需要pip install protobuf==3.20

Conflicting requirements from source on Mac

Hi, cool project 👋

I found that I can't set up the requirements on MacOS from source.

When I use Python3.10:

ERROR: Cannot install -r requirements.txt (line 5) and tensorflow because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested tensorflow
    spleeter 2.4.0 depends on tensorflow<2.10.0 and >=2.5.0
    tensorflow-macos 2.13.0 depends on numpy<=1.24.3 and >=1.22
    spleeter 2.1.0 depends on numpy<1.19.0 and >=1.16.0

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

When I use Python 3.11, there's a big cython error when installing numpy:

Collecting numpy<1.19.0,>=1.16.0 (from spleeter->-r requirements.txt (line 5))
  Using cached numpy-1.18.5.zip (5.4 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [56 lines of output]
      Running from numpy source directory.
      <string>:461: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
      /private/var/folders/sd/n5539dfn4kd9ck001x3_p1240000gn/T/pip-install-nt_0wr0y/numpy_02f5ae1486dc44b2ba94548df21efc4e/tools/cythonize.py:75: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
        required_version = LooseVersion('0.29.14')
      /private/var/folders/sd/n5539dfn4kd9ck001x3_p1240000gn/T/pip-install-nt_0wr0y/numpy_02f5ae1486dc44b2ba94548df21efc4e/tools/cythonize.py:77: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
        if LooseVersion(cython_version) < required_version:

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  self.rng_state.ctr.v[i] = counter[i]

              self._reset_state_variables()

              self._bitgen.state = <void *>&self.rng_state
              self._bitgen.next_uint64 = &philox_uint64
                                         ^
      ------------------------------------------------------------

      _philox.pyx:195:35: Cannot assign type 'uint64_t (*)(void *) except? -1 nogil' to 'uint64_t (*)(void *) noexcept nogil'. Exception values are incompatible. Suggest adding 'noexcept' to type 'uint64_t (void *) except? -1 nogil'.
      Processing numpy/random/_bounded_integers.pxd.in
      Processing numpy/random/_philox.pyx
      Traceback (most recent call last):
        File "/private/var/folders/sd/n5539dfn4kd9ck001x3_p1240000gn/T/pip-install-nt_0wr0y/numpy_02f5ae1486dc44b2ba94548df21efc4e/tools/cythonize.py", line 238, in <module>
          main()
        File "/private/var/folders/sd/n5539dfn4kd9ck001x3_p1240000gn/T/pip-install-nt_0wr0y/numpy_02f5ae1486dc44b2ba94548df21efc4e/tools/cythonize.py", line 234, in main
          find_process_files(root_dir)
        File "/private/var/folders/sd/n5539dfn4kd9ck001x3_p1240000gn/T/pip-install-nt_0wr0y/numpy_02f5ae1486dc44b2ba94548df21efc4e/tools/cythonize.py", line 225, in find_process_files
          process(root_dir, fromfile, tofile, function, hash_db)
        File "/private/var/folders/sd/n5539dfn4kd9ck001x3_p1240000gn/T/pip-install-nt_0wr0y/numpy_02f5ae1486dc44b2ba94548df21efc4e/tools/cythonize.py", line 191, in process
          processor_function(fromfile, tofile)
        File "/private/var/folders/sd/n5539dfn4kd9ck001x3_p1240000gn/T/pip-install-nt_0wr0y/numpy_02f5ae1486dc44b2ba94548df21efc4e/tools/cythonize.py", line 80, in process_pyx
          subprocess.check_call(
        File "/opt/homebrew/Cellar/[email protected]/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/subprocess.py", line 413, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['/Users/dennis/Downloads/vocal-separate/.venv/bin/python3.11', '-m', 'cython', '-3', '--fast-fail', '-o', '_philox.c', '_philox.pyx']' returned non-zero exit status 1.
      Cythonizing sources
      Traceback (most recent call last):
        File "/Users/dennis/Downloads/vocal-separate/.venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/dennis/Downloads/vocal-separate/.venv/lib/python3.11/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/dennis/Downloads/vocal-separate/.venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 149, in prepare_metadata_for_build_wheel
          return hook(metadata_directory, config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/sd/n5539dfn4kd9ck001x3_p1240000gn/T/pip-build-env-kbjmn8zs/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 366, in prepare_metadata_for_build_wheel
          self.run_setup()
        File "/private/var/folders/sd/n5539dfn4kd9ck001x3_p1240000gn/T/pip-build-env-kbjmn8zs/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 480, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/private/var/folders/sd/n5539dfn4kd9ck001x3_p1240000gn/T/pip-build-env-kbjmn8zs/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 488, in <module>
        File "<string>", line 469, in setup_package
        File "<string>", line 275, in generate_cython
      RuntimeError: Running cythonize failed!
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Seems like something mac specific. Any suggestions how I can get the packages set up? Looks like the 3.10 case might be easier since the packages simply conflict instead of weird C errors.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.