ImportError: нет модуля с именем «matplotlib», использующего среду тензорного потока Anaconda

Я просто пытаюсь изучить Tensorflow, но совершенно не знаком с Python, поэтому я использую Anaconda. Я создал среду conda:

$ conda create −n tensorflow python =3.5

Конечно, я активировал свою среду conda

$ source activate tensorflow

Затем я немного поигрался в Spyder, попытался построить MNIST-цифру (копипаст код от моего репетитора, который проверен несколько раз), он включает, конечно

import matplotlib.pyplot as plt
[...]
plt.plot(number)

но выполнение файла Python с помощью bash дает мне:

(tensorflow) leon@leon-linux:~/ANNsCourse/Session1$ python helloWorld.py
Traceback (most recent call last):
  File "helloWorld.py", line 10, in <module>
    import matplotlib.pyplot as plt
ImportError: No module named 'matplotlib'

Я сейчас совсем запутался, так как (tensorflow) в bash, очевидно, означает, что моя среда conda tensorflow работает (по крайней мере, насколько я понимаю). Кроме того, насколько я понял, в conda должна быть встроена matplotlib, верно? И он также должен загрузить это в мою среду conda tensorflow, верно? Вот что сказал мой репетитор на слайде

Нет необходимости устанавливать дополнительные пакеты, такие как numpy или matplotlib, поскольку Anaconda уже содержит их текущие версии».

а также то, что я смог взять из всего, что я гуглил и переполнял StackOverflow. Ни поиск в Google, ни StackOverflowing не дали мне хорошего ответа (может быть, просто потому, что я еще недостаточно понимаю).

Лучше всего было бы предположить, что мне все еще нужно включить matplotlib в мою среду conda tensorflow, но это будет противоречить как моему наставнику, так и Google, а я также не знаю, как это сделать.

редактировать: conda list дал мне, что matplotlib не было в моей tensorflowenvironment, поэтому я пошел

conda install matplotlib

Я все еще боюсь, что что-то не так с моей средой conda tensorflow, разве matplotlib не должен был быть там по умолчанию? Он также сказал мне:

Package plan for installation in environment /home/leon/.conda/envs/tensorflow:

The following NEW packages will be INSTALLED:

cycler:           0.10.0-py35_0    
dbus:             1.10.10-0        
expat:            2.1.0-0          
fontconfig:       2.12.1-3         
freetype:         2.5.5-2          
glib:             2.50.2-1         
gst-plugins-base: 1.8.0-0          
gstreamer:        1.8.0-0          
icu:              54.1-0           
jpeg:             9b-0             
libffi:           3.2.1-1          
libgcc:           5.2.0-0          
libiconv:         1.14-0           
libpng:           1.6.27-0         
libxcb:           1.12-1           
libxml2:          2.9.4-0          
matplotlib:       2.0.0-np112py35_0
mkl:              2017.0.1-0       
numpy:            1.12.0-py35_0    
pcre:             8.39-1           
pyparsing:        2.1.4-py35_0     
pyqt:             5.6.0-py35_2     
python-dateutil:  2.6.0-py35_0     
pytz:             2016.10-py35_0   
qt:               5.6.2-3          
sip:              4.18-py35_0      
six:              1.10.0-py35_0    

Proceed ([y]/n)? y

Что говорит мне, что numpy также отсутствовал? Может ли кто-нибудь подтвердить, что это правильно сейчас, или с моей кондой что-то не так?


person LJKS    schedule 21.02.2017    source источник
comment
Чтобы было ясно, поскольку ответ не является полностью явным, это ожидаемое поведение, и абсолютно все в порядке с вашей средой или conda.   -  person darthbith    schedule 21.02.2017


Ответы (3)


Вы только что создали среду conda с именем tensorflow и переключились на нее. Вы не установили пакет tensorflow или какой-либо из пакетов anaconda по умолчанию.

Для этого сделайте

conda create -n tensorflow python=3.5 anaconda # install anaconda3 default packages
source activate tensorflow # switch into it
conda install -c conda-forge tensorflow # install tensorflow
person wflynny    schedule 21.02.2017

Я столкнулся с той же проблемой, используя эти инструкции: https://www.anaconda.com/tensorflow-in-anaconda/ для tensorflow-gpu.

Бег

conda create -n tensorflow_gpuenv tensorflow-gpu
conda activate tensorflow_gpuenv

должен убедиться, что «TensorFlow теперь установлен и готов к использованию». Но это не так. Запуск списка conda показывает, что matplotlib не установлен. Так что вам также нужно будет установить это:

conda install -c conda-forge matplotlib
person DrBabinski    schedule 28.03.2019

Я столкнулся с той же проблемой на своем Mac. Поэтому я запустил список conda, чтобы узнать, установлен ли matplotlib или нет. Как только я обнаружил, что он отсутствует, я пошел дальше и выполнил команду conda install matplotlib. После этого шага убедитесь, что он правильно установлен; Сделайте следующее.

conda activate tf

Это активирует среду tensorflow на анаконде. После этого запустите интерактивную оболочку Python на том же терминале.

import matplotlib

Если он установлен правильно, теперь это не должно вызывать никаких ошибок.

person Sharath Mareddy    schedule 01.08.2019