pyFFTW не находит libfftw3l.so при импорте
В моей системе Raspbian я успешно установил pyFFTW, но при импорте пакета возникает проблема.
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, который, вероятно, оборачивает C-код FFTW.
Как указать этому файлу pyfftw.cpython-34m.so, где он должен искать правильный путь?
1 ответ
Решение
Проблема была с 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 (см. Здесь):
import sys
sys.path.append('/usr/local/lib/libfftw3.so.3')