ImportError: нет модуля с именем scipy.sparse - PullRequest
0 голосов
/ 07 марта 2019

Я установил Scipy в Ubuntu, используя следующие команды:

sudo apt-get install python-scipy
pip install scipy

, но при запуске импорта я получаю эту ошибку:

ImportError: No module named scipy.sparse

Я искал, пробовал следующее и переустанавливал Scipy:

sudo apt-get purge python-scipy

, но все равно получена та же ошибка.

Обновление: я не импортировал scipy в свой файл python, только импортировал керасы.

Вот ошибкасообщение:

(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'

Ответы [ 5 ]

0 голосов
/ 07 марта 2019

В Ubuntu 18.04 и более поздних версиях вы можете установить Scipy и Keras для Python 3 с sudo apt install python3-scipy python3-keras, и все будет хорошо, но вы используете Ubuntu 16.04 и установили Scipy для Python 2, который не совместим с TensorFlow для Python 3.4, 3.5 и 3.6, поэтому вместо этого установите пакет Scipy по умолчанию для Python 3 с помощью этой команды:

sudo apt install python3-scipy  

Для получения дальнейших инструкций по установке TensorFlow в Ubuntu прочитайте этот ответ . Это стоит прочитать, потому что теперь вам придется проверять совместимость версий пакетов при работе с TensorFlow.

Команда pip install scipy также неверна, если целью этой команды было обновление Scipy. Правильная команда для обновления Scipy была бы sudo pip install ---upgrade scipy, и даже в этом случае она была бы бесполезна, поскольку установленный в данный момент scipy предназначен только для Python 2, а TensorFlow - для Python 3.

0 голосов
/ 07 марта 2019

Просто чтобы убедиться, на какой версии Python вы установили Scipy, попробуйте в терминале:

which Python

Тогда попробуйте:

pip freeze 

чтобы получить список всех установленных пакетов.

Возможно, у вас более одной версии Python, и вы установили пакет в одну и пытаетесь выполнить свой код, используя другую.

0 голосов
/ 07 марта 2019

Вы используете Python 3, но с помощью pip вы устанавливаете scipy для Python 2.
Использование:

pip3 install scipy  

или

sudo apt install python3-scipy
0 голосов
/ 07 марта 2019

попробуйте

pip3 install scipy

и установить pip3

sudo python3 get-pip.py
0 голосов
/ 07 марта 2019

Установите его вместо pip, запустите:

pip install scipy

Это помогло мне, надеюсь, это поможет!

РЕДАКТИРОВАТЬ: Забыл, что вы используете Python 3.x, запуститеэто вместо:

pip3 install scipy
...