【发布时间】:2016-11-02 22:06:30
【问题描述】:
我有 Python 3.5,当我尝试导入 scipy.io 时,它失败并显示 ImportError:
>>> from scipy import io
----> from scipy import io
/opt/rh/rh-python35/root/usr/lib64/python3.5/site-packages/scipy/io/__init__.py in <module>()
---> from .matlab import loadmat, savemat, whosmat, byteordercodes
/opt/rh/rh-python35/root/usr/lib64/python3.5/site-packages/scipy/io/matlab/__init__.py in <module>()
---> from .mio import loadmat, savemat, whosmat
/opt/rh/rh-python35/root/usr/lib64/python3.5/site-packages/scipy/io/matlab/mio.py in <module>()
---> from .miobase import get_matfile_version, docfiller
/opt/rh/rh-python35/root/usr/lib64/python3.5/site-packages/scipy/io/matlab/miobase.py in <module>()
---> from six import reduce
ImportError: cannot import name 'reduce'
因此,根据this,显然在Python 3.5 中recude 从six.reduce 更改为six.functools.reduce,实际上我可以使用import six 和six.functools.reduce 导入它。
所以,看起来scipy 的 3.5 版本有这个错误(也许?),这在 2.7 中不会发生。有什么办法可以解决这个问题,以便我可以使用scipy.io?
我有带有 python 3.5.1、scipy 0.17.0 和 numpy 1.10.4 的 CentO。
【问题讨论】:
标签: python python-3.x scipy