2016-09-21 135 views
0

在我的Raspbian系统中,我成功安装了pyFFTW,但导入包时出现问题。pyFFTW在导入时找不到libfftw3l.so

import pyfftw 
    File "/usr/local/lib/python3.4/dist-packages/pyfftw/__init__.py", line 16, in <module> 
    from .pyfftw import ( 
ImportError: libfftw3l.so.3: cannot open shared object file: No such file or directory 

其实我从源码安装了FFTW。


我已经挖成__init__.py并且有一个相对进口行:

from .pyfftw import (
       FFTW 
       blah blah) 

没有在任何模块pyfftw。文件夹,但我想这行代表./ pyfftw.cpython-34m.so文件可能包装FFTW的C代码。

如何告诉这个pyfftw.cpython-34m.so文件它应该在哪里查找正确的路径?

回答

0

问题出在PYTHONPATH上。

要检查,如果该文件是在磁盘的某处:

$ sudo file/-name libfftw3l.so.3 
/home/pi/bin/fftw-3.3.5/.libs/libfftw3.so.3 
/usr/lib/arm-linux-gnueabihf/libfftw3.so.3 
/usr/local/lib/libfftw3.so.3 

并添加进口pyfftw前行(见here):

import sys 
sys.path.append('/usr/local/lib/libfftw3.so.3') 
+0

真的,那工作的?我了解ARM的长时间版fftw不支持。出于这个原因,pyFFTW目前不支持ARM。请参阅[此问题](https://github.com/pyFFTW/pyFFTW/issues/127)。如果你想帮助解决这个问题,我们热衷于输入(这等于正确处理缺失的库并在Python端提出合适的例外)。 –

+0

是的,它的工作原理。我看到了这个问题。我已使用启用的长双精度和浮点类型手动重新安装FFTW。比通过pip安装pyFFTW。我很乐意提供帮助,但我是Python新手,我担心这超出了我的范围 – Mesco