#3536 OSError: cannot load library '/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/_soundfile_data/l

2409:8a55* Posted at: 10 hours ago 👁10

Traceback (most recent call last):
File "/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/soundfile.py", line 267, in

_snd = _ffi.dlopen('sndfile')

File "/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/cffi/api.py", line 150, in dlopen

lib, function_cache = _make_ffi_library(self, name, flags)

File "/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/cffi/api.py", line 834, in _make_ffi_library

backendlib = _load_backend_lib(backend, libname, flags)

File "/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/cffi/api.py", line 829, in _load_backend_lib

raise OSError(msg)

OSError: ctypes.util.find_library() did not manage to locate a library called 'sndfile'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/ruby/pyvideotrans/pyvideotrans/videotrans/mainwin/_main_win.py", line 468, in _set_default

self._bind_signal()

File "/Users/ruby/pyvideotrans/pyvideotrans/videotrans/mainwin/_main_win.py", line 649, in _bind_signal

self._open_winform('fn_peiyin')

File "/Users/ruby/pyvideotrans/pyvideotrans/videotrans/mainwin/_main_win.py", line 723, in _open_winform

return winform.get_win(name).openwin()

File "/Users/ruby/pyvideotrans/pyvideotrans/videotrans/winform/fn_peiyin.py", line 187, in openwin

from videotrans.task._dubbing import DubbingSrt

File "/Users/ruby/pyvideotrans/pyvideotrans/videotrans/task/_dubbing.py", line 13, in

from videotrans.task._rate import TtsSpeedRate

File "/Users/ruby/pyvideotrans/pyvideotrans/videotrans/task/_rate.py", line 75, in

import soundfile as sf

File "/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/soundfile.py", line 276, in

_snd = _ffi.dlopen(_os.path.join(

File "/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/cffi/api.py", line 150, in dlopen

lib, function_cache = _make_ffi_library(self, name, flags)

File "/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/cffi/api.py", line 834, in _make_ffi_library

backendlib = _load_backend_lib(backend, libname, flags)

File "/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/cffi/api.py", line 829, in _load_backend_lib

raise OSError(msg)

OSError: cannot load library '/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/_soundfile_data/libsndfile.dylib': dlopen(/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/_soundfile_data/libsndfile.dylib, 0x0002): tried: '/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/_soundfile_data/libsndfile.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/_soundfile_data/libsndfile.dylib' (no such file), '/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/_soundfile_data/libsndfile.dylib' (no such file). Additionally, ctypes.util.find_library() did not manage to locate a library called '/Users/ruby/pyvideotrans/pyvideotrans/.venv/lib/python3.10/site-packages/_soundfile_data/libsndfile.dylib'


=
system:macOS-26.2-arm64-arm-64bit
version:v3.97
frozen:False
language:zh
root_dir:/Users/ruby/pyvideotrans/pyvideotrans
Python: 3.10.19 (main, Feb 12 2026, 00:36:33) [Clang 21.1.4 ]

3 Replies

这是由于 macOS 系统缺少 libsndfile 音频库依赖导致的。

根据知识库,macOS 用户需要通过源码部署,并确保安装所有前置依赖。libsndfilesoundfile Python 包(用于音频读写)所必需的底层系统库。

解决方案:

  1. 打开 macOS 的终端(Terminal)。
  2. 使用 Homebrew 包管理器安装 libsndfile。在终端中执行以下命令:

    brew install libsndfile
  3. 安装完成后,重新启动 pyVideoTrans 软件。

如果问题依旧,请确保你的 Homebrew 已更新(brew update),并检查 Python 虚拟环境是否激活。如果是在虚拟环境中运行,可能需要重新安装 soundfile 包:

pip uninstall soundfile
pip install soundfile

请查阅相关文档:

无法重新启动pyVideoTrans 软件

这是由于软件启动失败,无法通过常规方式重启。问题根源是缺少 libsndfile 库,导致 Python 模块 soundfile 在导入时崩溃,软件无法正常启动。

解决方案:

  1. 确保依赖已安装:在终端中执行 brew install libsndfile,确保命令成功执行,没有报错。
  2. 激活虚拟环境并重装模块

    • 打开终端,导航到你的 pyVideoTrans 项目目录:cd /Users/ruby/pyvideotrans/pyvideotrans
    • 激活虚拟环境:source .venv/bin/activate
    • 重新安装 soundfile 包:pip uninstall soundfile -y && pip install soundfile
  3. 尝试重新启动

    • 在激活的虚拟环境中,直接运行主程序:uv run sp.py
    • 如果上述命令失败,可以尝试退出终端并重新打开,然后再次执行 cd /Users/ruby/pyvideotrans/pyvideotrans && uv run sp.py

如果以上步骤后软件仍然无法启动,请提供执行这些命令时终端显示的任何错误信息。

请查阅相关文档:

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Related resource