Python 3.8 中的 pyFFTW (scipy.fftpack) 导入错误

Import Error with pyFFTW (scipy.fftpack) in Python 3.8

我有一个数值模拟程序,在我所在的研究所运行良好,我有一个 Win10 盒子,我在其中安装了 Python 3.7.3 64 位。我正在尝试 运行 在我的笔记本电脑中使用 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 并且简单地 "match" Win 盒子里的所有版本的包,但我正在寻找一个不太核的解决方案。

为了完整起见,MWE:

$ python
>>> import pyfftw

这已在 master 中修复。应该很快发布。您可以等待或从 github.

中拉出

编辑:2020 年 2 月 3 日发布修复此问题的版本。