私が所属している研究所で問題なく動作する数値シミュレーション プログラムがあります。そこには、Python 3.7.3 64 ビットをインストールした Win10 ボックスがあります。Manjaro と Python 3.8.1 を使用してラップトップで同じプログラムを実行しようとしています (インストール時には 3.7.3 でしたが、ローリング リリース ¬¬)。問題は、pyFFTW をインポートしようとすると、ラップトップで次のエラーが発生することです。
Traceback (most recent call last):
File "/home/User/Documents/Program.py", line 22, in <module>
import pyfftw # Pythonic wrapper for FFTW
File "/usr/lib/python3.8/site-packages/pyfftw/__init__.py", line 43, in <module>
from . import interfaces
File "/usr/lib/python3.8/site-packages/pyfftw/interfaces/__init__.py", line 237, in <module>
from . import scipy_fftpack
File "/usr/lib/python3.8/site-packages/pyfftw/interfaces/scipy_fftpack.py", line 65, in <module>
from scipy.fftpack import (dct, idct, dst, idst, diff, tilbert, itilbert,
ImportError: cannot import name '_fftpack' from 'scipy.fftpack' (/usr/lib/python3.8/site-packages/scipy/fftpack/__init__.py)
Process finished with exit code 1
私が知る限り、問題は pyFFTW パッケージ自体のライブラリに起因していますが、修正方法がわかりません。pyFFTW (1.17.4) と scipy (1.4.1) の両方をアンインストールして再インストールしようとしましたが、ほとんど成功しませんでした。
ManjaroボックスのPythonに別のバージョンをインストールして、Winボックスのパッケージのすべてのバージョンを単純に「一致させる」ことができると思いましたが、核の少ないソリューションを探しています。
完全を期すために、MWE:
$ python
>>> import pyfftw