python - ctypes.util find_library() 找不到 .dylib
问题描述
我想使用一个名为 mingus 的 python 包,但它找不到 FluidSynth 库。但是,我已经使用自制软件安装了流体合成器(我使用的是 macOS Catalina),它位于目录 /usr/local/Cellar/fluid-synth/2.1.8/lib
错误消息是:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-2-6003c50a6278> in <module>
----> 1 from mingus.midi import fluidsynth
~/anaconda3/lib/python3.7/site-packages/mingus/midi/fluidsynth.py in <module>
39 import wave
40
---> 41 from mingus.midi import pyfluidsynth as fs
42 from mingus.midi.sequencer import Sequencer
43
~/anaconda3/lib/python3.7/site-packages/mingus/midi/pyfluidsynth.py in <module>
39 )
40 if lib is None:
---> 41 raise ImportError("Couldn't find the FluidSynth library.")
42
43 _fl = CDLL(lib)
ImportError: Couldn't find the FluidSynth library.
pyfluidsynth.py 中第 41 行的代码是:
from ctypes.util import find_library
import six
lib = (
find_library("fluidsynth")
or find_library("libfluidsynth")
or find_library("libfluidsynth-1")
)
if lib is None:
raise ImportError("Couldn't find the FluidSynth library.")
但是我已经将库安装在
>> ls -l /usr/local/Cellar/fluid-synth/2.1.8/lib/
total 688
-r--r--r-- 1 hqchen admin 350160 Apr 13 23:12 libfluidsynth.2.3.8.dylib
lrwxr-xr-x 1 hqchen admin 25 Mar 15 14:12 libfluidsynth.2.dylib -> libfluidsynth.2.3.8.dylib
lrwxr-xr-x 1 hqchen admin 21 Mar 15 14:12 libfluidsynth.dylib -> libfluidsynth.2.dylib
我认为我的问题源于如何在 find_library 中添加搜索路径?我试图在 LD_LIBRARY_PATH 和 LIBRARY_PATH 中添加路径,但都不起作用。我很感激任何帮助!
解决方案
推荐阅读
- c++ - 如何使用 Visual Studio 2017 在 C++ 中跟踪未处理的异常
- angular - 如何在数组中提交,只有 id。使用 Angular 7 和 ng-multiselect-dropdown
- java - 在 Java 中读取 .xlsx 文件时出现“java.io.IOException:磁盘空间不足”错误
- excel - 杀死打开的 CSV 文件
- git - git 致命:无法读取 blob 对象 88a3d3
- oracle - Oracle 函数的性能优于内联查询
- php - S3 listObjectsV2 - StartAfter 未显示预期结果
- compare - 如何在 Nifi 中同时输出所有处理器,以便我可以获得相同的 UUID() 属性值
- django - 具有相同外键的多个模型的编辑视图
- react-native - 如何在静态字段中使用反应导航发送值?