ImportError: No module named 'keras'

Viewed 179587

So basically, I am fairly new to programming and using python. I am trying to build an ANN model for which I have to use Tensor flow, Theano and Keras library. I have Anaconda 4.4.1 with Python 3.5.2 on Windows 10 x64 and I have installed these libraries by following method.

  1. Create a new environment with Anaconda and Python 3.5: conda create -n tensorflow python=3.5 anaconda
  2. Activate the environment: activate tensorflow
  3. After this you can install Theano, TensorFlow and Keras: conda install theano, conda install mingw libpython, pip install tensorflow, pip install keras,
  4. Update the packages: conda update --all

All these packages are installed correctly and I have check them with conda list. However, when I am trying to import any of these 3 libraries (i.e. Tensor flow, Theano and Keras), it is giving me the following error:

Traceback (most recent call last):
File "<ipython-input-3-c74e2bd4ca71>", line 1, in <module>
import keras
ImportError: No module named 'keras'
15 Answers

Hi I have an solution try this if you are using Anaconda-Navigator

go to Anaconda Environment and search keras package and then install.

install keras

enter image description here

after install just type import keras in shell its working.

enter image description here

Have you tried using keras documentation

Install Keras from PyPI (recommended):

Note: These installation steps assume that you are on a Linux or Mac environment. If you are on Windows, you will need to remove sudo to run the commands below.

sudo pip install keras

If you are using a virtualenv, you may want to avoid using sudo:

pip install keras

from: https://keras.io/

Now you need to have Tensorflow installed and then write, for example:

import tensorflow as tf
...
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(12, input_dim=8, activation='relu'))
model.add(tf.keras.layers.Dense(8, activation='relu'))
model.add(tf.keras.layers.Dense(1, activation='sigmoid'))
 ...

Works for Tensorflow version: 2.4.1.

Or just type:

import tensorflow as tf
from tensorflow import keras
...

I spent the whole day to install Keras, tried all the available methods online, almost dying. But I still cannot import keras.

(1). After using conda install or pip install, and delete the "1 > null > 2&1" ... I activated in conda prompt by activating tensorflow_cpu, it doesn't work anyway.

(2). Then checked the keras, and print os.path(), no virtual environment inside. I got so braindead, just copied all the keras data file from virtual environment env, and put into the "C:\Users\Administrator\Anaconda3\Lib\site-packages".

(3). Now, tensorflow and keras work well.

A direct and simple way to fix it is as below, #uninstall keras and tensorflow

pip uninstall keras
pip uninstall tensorflow

#Now install keras and tensorflow for required version with dependencies.

pip install keras==2.2.4
pip install tensorflow==1.13.1

Always make sure that you install right version of tensorflow which supports that keras version as well, else you may end up in trouble again. By the way , the above fix worked for me.

I solved this problem by running one of the following in the terminal according to anaconda website.

To install this package (keras) with conda run one of the following:

  • conda install -c conda-forge keras conda install -c
  • conda-forge/label/broken keras conda install -c
  • conda-forge/label/cf201901 keras conda install -c
  • conda-forge/label/cf202003 keras

If you never use conda before you can check anaconda.

A direct and simple way to fix it is as below, #uninstall keras and tensorflow

py -3 -m pip uninstall keras
py -3 -m pip uninstall tensorflow

#Now install keras and tensorflow for required version with dependencies.

py -3 -m pip install keras
py -3 -m pip install tensorflow

the above fix worked for me.

If you are sure that you ran pip install keras at the command line, ensure that you use the small letter 'k' instead of the Capital Alphabet. I had a similar error message.

I have the same problem with:
conda 4.13.0
tensorflow 2.6.0

Note: We should not have to install Keras separately, as it ships with Tensorflow, starting with Tensorflow 2.0.

Symptoms:
Keras import (from tensorflow import keras) does not return an error, BUT any further reference to Keras does throw "ModuleNotFoundError", e.g. the following statements fail:

print(keras.__version__)
from keras import Sequential

I still don't have a direct solution for this, this is more of a workaround, but here it is:

  1. Import ANY class from Keras JUST ONCE using full top-down import syntax AND instantiate it
  2. Import Keras (now "for real")

E.g.:

from tensorflow.keras.layers import Dense
layer = Dense(10)
from tensorflow import keras

Now the following statements should work:

print(keras.__version__)
model = keras.models.Sequential()

This looks like some sort of lazy module loading gone wrong.

These are some simple steps to install 'keras' simply using the Anaconda Navigator:

  1. Launch Anaconda Navigator. Go to the Environments tab.
  2. Select ‘Not installed’, and type in ‘tensorflow’.
  3. Then, tick ‘tensorflow’ and do the same for ‘keras’.
  4. Click on ‘Apply’. The pop-up window will appear, go ahead and apply. This may take several minutes.
  5. Done.

This tutorial will guide you more graphically: https://www.freecodecamp.org/news/install-tensorflow-and-keras-using-anaconda-navigator-without-command-line/

Remember to launch spyder in the environment or activate it in line command (conda activate [my_env]. afater that, execute your script python.

Try to import keras library from its reference parent which means import tensorflow.keras

Related