导入错误:没有名为scipy.sparse的模块

a0x5cqrl  于 8个月前  发布在  其他
关注(0)|答案(8)|浏览(115)

我在Ubuntu上安装了Scipy,使用以下命令:

sudo apt-get install python-scipy
pip install scipy

但是当运行import时,我得到这个错误:

ImportError: No module named scipy.sparse

我搜索并尝试了以下方法并重新安装了Scipy:

sudo apt-get purge python-scipy

但还是得到了同样的错误。
更新:我没有在python文件中导入scipy,只是导入了keras。
以下是错误信息:

(my_env)  ..  $ python test.py
Using TensorFlow backend.
Traceback (most recent call last):
  File "test.py", line 10, in <module>
    import keras
  File "/home/ ../my_env/lib/python3.5/site-packages/keras/__init__.py", line 3, in <module>
    from . import utils
  File "/home/ ../my_env/lib/python3.5/site-packages/keras/utils/__init__.py", line 27, in <module>
    from .multi_gpu_utils import multi_gpu_model
  File "/home/ ../my_env/lib/python3.5/site-packages/keras/utils/multi_gpu_utils.py", line 7, in <module>
    from ..layers.merge import concatenate
  File "/home/ ../my_env/lib/python3.5/site-packages/keras/layers/__init__.py", line 4, in <module>
    from ..engine.base_layer import Layer
  File "/home/ ../my_env/lib/python3.5/site-packages/keras/engine/__init__.py", line 8, in <module>
    from .training import Model
  File "/home/ ../my_env/lib/python3.5/site-packages/keras/engine/training.py", line 21, in <module>
    from . import training_arrays
  File "/home/../my_env/lib/python3.5/site-packages/keras/engine/training_arrays.py", line 8, in <module>
    from scipy.sparse import issparse
ImportError: No module named 'scipy.sparse'
noj0wjuj

noj0wjuj1#

把小路弄混了。卸载

pip uninstall scipy

安装使用康达为我工作

conda install scipy
5cnsuln7

5cnsuln72#

在Ubuntu 18.04和更高版本中,您可以使用sudo apt install python3-scipy python3-keras安装Scipy和Keras for Python 3,然后就可以了,但是您使用的是Ubuntu 16.04,并且安装了Scipy for Python 2,它与Python 3.4,3.5和3.6的TensorFlow不兼容,因此使用以下命令安装Python 3的默认Scipy包:

sudo apt install python3-scipy

有关在Ubuntu中安装TensorFlow的进一步说明,请阅读此答案。这篇文章值得阅读,因为从现在开始,在使用TensorFlow时,你将不得不检查包版本的兼容性。
如果pip install scipy命令的目的是升级Scipy,则该命令也不正确。升级Scipy的正确命令应该是pip install --upgrade --user scipy,即使如此,它也是无用的,因为您当前安装的scipy仅适用于Python 2,而您的TensorFlow适用于Python 3。

suzh9iv8

suzh9iv83#

你使用的是Python 3,但是使用pip你安装的是Python 2的scipy。
用途:

pip3 install scipy

或:

sudo apt install python3-scipy
cwxwcias

cwxwcias4#

尝试

pip3 install scipy

安装pip3

sudo python3 get-pip.py
w8rqjzmb

w8rqjzmb5#

只是为了确保你安装了哪个Python版本的Scipy,请在终端中尝试:

which Python

然后尝试:

pip freeze

获取所有已安装软件包的列表。
也许你有多个python版本,并且已经安装了一个包,并试图使用另一个来执行你的代码。

wvmv3b1j

wvmv3b1j6#

在Ubuntu/Debian上:

sudo apt-get install python3-scipy

注意python中的3,它对我很有效。

mpgws1up

mpgws1up7#

您应该升级到最新版本:

pip install --upgrade scipy
lmyy7pcs

lmyy7pcs8#

使用pip安装它,运行:

pip install scipy

这对我有帮助,希望它能帮助我!
编辑:忘记你正在使用python 3.x,运行这个:

pip3 install scipy

相关问题