导入错误:DLL加载失败,涉及sndlib / libsndfile

2 投票
1 回答
3951 浏览
提问于 2025-04-17 10:51

我正在使用Windows 7 64位系统。

我有这些导入的内容:

from scikits.audiolab import Sndfile    
import numpy as NumpyObj
import matplotlib.pyplot as plt
from itertools import groupby
import heapq
import datetime        
import time
from math import sqrt as wurzel          
from scipy.cluster.vq import kmeans, vq 

我安装了所有可能的64位文件,包括Python 2.6。

但是我收到了这个错误信息:

"C:\Python26\python.exe"  skript.py
Traceback (most recent call last):
  File "skript.py", line 4, in <module>
    from scikits.audiolab import Sndfile
  File "C:\Python26\lib\site-packages\scikits\audiolab\__init__.py", line 25, in <module>
    from pysndfile import formatinfo, sndfile
  File "C:\Python26\lib\site-packages\scikits\audiolab\pysndfile\__init__.py", line 1, in <module>
    from _sndfile import Sndfile, Format, available_file_formats, 
  ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

‘Das angegebene Modul wurde nicht gefunden.’ 是德语,意思是‘找不到指定的模块’。

这可能是什么原因呢?我使用了:

import sys
sys.path.append('C:\\Python26\\Lib\\site-packages')

但没有任何变化。

有很多讨论串,但没有一个是关于sndfile的。

1 个回答

4

尝试安装这个链接里的软件:http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.23-w64-setup.exe。安装完成后,把名为 libsndfile-1.dll 的文件复制到 C:\Python26\Lib\site-packages\scikits\audiolab\pysndfile 这个文件夹里(或者把 64 位的 libsndfile-1.dll 的路径添加到系统的 PATH 环境变量中)。

撰写回答