相关文章推荐
体贴的柿子  ·  iostream' file not ...·  1 年前    · 
讲道义的鸡蛋面  ·  openVPN + VPP = ...·  1 年前    · 
Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

I have some imports in my jupyter notebook and among them is tensorflow:

ImportError                               Traceback (most recent call last)
<ipython-input-2-482704985f85> in <module>()
      4 import numpy as np
      5 import six.moves.copyreg as copyreg
----> 6 import tensorflow as tf
      7 from six.moves import cPickle as pickle
      8 from six.moves import range
ImportError: No module named tensorflow

I have it on my computer, in a special enviroment and all connected stuff also:

Requirement already satisfied (use --upgrade to upgrade): tensorflow in /Users/mac/anaconda/envs/tensorflow/lib/python2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): six>=1.10.0 in /Users/mac/anaconda/envs/tensorflow/lib/python2.7/site-packages (from tensorflow)
Requirement already satisfied (use --upgrade to upgrade): protobuf==3.0.0b2 in /Users/mac/anaconda/envs/tensorflow/lib/python2.7/site-packages (from tensorflow)
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.10.1 in /Users/mac/anaconda/envs/tensorflow/lib/python2.7/site-packages (from tensorflow)
Requirement already satisfied (use --upgrade to upgrade): wheel in /Users/mac/anaconda/envs/tensorflow/lib/python2.7/site-packages (from tensorflow)
Requirement already satisfied (use --upgrade to upgrade): setuptools in ./setuptools-23.0.0-py2.7.egg (from protobuf==3.0.0b2->tensorflow)

I can import tensorflow on my computer:

>>> import tensorflow as tf

So I'm confused why this is another situation in notebook?

Probably issue of sys.path I bet your "jupyter" and "python" come from different Python installations, so you installed tensorflow for one, but not the other – Yaroslav Bulatov Jul 6, 2016 at 10:10

If you installed a TensorFlow as it said in official documentation: https://www.tensorflow.org/versions/r0.10/get_started/os_setup.html#overview

I mean creating an environment called tensorflow and tested your installation in python, but TensorFlow can not be imported in jupyter, you have to install jupyter in your tensorflow environment too:

conda install jupyter notebook

After that I run a jupyter and it can import TensorFlow too:

jupyter notebook
                I prefer this solution, as it does not require any manual fiddling. It seems that by additionally installing jupyter within the environment the "global" jupyter gets shadowed and everything is set up correctly. (note: I had to start a new console session after installing)
– Christoph Henkelmann
                Oct 5, 2017 at 14:17
                Surprisingly, this worked. First, I don't think I need to reinstall jupyter in specific environment because I can start jupyter in any environment. So, the new Jupyter just override global jupyter in base environment. That is how it work.
– Haha TTpro
                Nov 29, 2018 at 16:32
                @Idel Pivnitskiy : I used venv to create the environment and then installed tensorflow, in my jupyter-notebook , which is a global conda install, I don't think so I should need to install jupyter again, since which python gives the  virtual environment's python and pip list , shows the environment's pip list, which has tensorlfow in it.
– aspiring1
                Sep 22, 2019 at 11:26
                @aspiring1 I also had jupyter installed before but looks like it has to be reinstalled to correctly link with tensorflow. No idea why, but it helped to solve the issue in my case.
– Idel Pivnitskiy
                Nov 19, 2019 at 21:05

Jupyter runs under the conda environment where as your tensorflow install lives outside conda. In order to install tensorflow under the conda virtual environment run the following command in your terminal:

 conda install -c conda-forge tensorflow 

I had the same problem, and solved it by looking at the output of:

jupyter kernelspec list

which outputs the kernel information:

python2 /Users/Username/Library/Jupyter/kernels/python2 
python3 /Users/Username/Library/Jupyter/kernels/python3

Notice that the path points to the Jupyter kernel for the user. To use it within the the Anaconda environment, it needs to point to the conda env you are using, and look something like Anaconda3\envs\Env_Name\share\jupyter\kernels\python3.

So, to remove the Jupyter kernelspec, just use:

jupyter kernelspec remove python3

or jupyter kernelspec remove python2 if you're using python 2

Now, the output of jupyter kernelspec list should point to the correct kernel.

See https://github.com/jupyter/notebook/issues/397 for more information about this.

Conda environment fetches the tensorflow package from the main system site-packages.

Step 1: Just deactivate conda environment

conda deactivate  
pip install tensorflow 

Step 2: Switch back to conda environment

conda activate YOUR_ENV_NAME
jupyter notebook

Step 3: Run the cell with import tensorflow you should be able to import.

Thanks

If you deactivate your conda env and then installing TF, you are installing it to the global env. – Bex T. Oct 10, 2021 at 3:03

I also had the same problem for a long time. I wanted to import tensorflow inside the jupyter notebook within windows 10. I followed all the instructions and commands that were suggested and it was not working from the command prompt. Finally, I tried this command with the Anaconda Prompt and it worked successfully. If you are using jupyter notebook within Anaconda then go goto the windows search terminal and type "Anaconda Prompt" and inside it type following command, It will install the tensorflow inside the jupyter notebook.

conda install -c conda-forge tensorflow

Run python -m ipykernel install --user --name <Environment_Name>. This should add your environment to the jupyter kernel list.

Change the kernel using Kernel->Change Kernel option or New-><Environment_Name>.

Note : Replace <Environment_Name> with the actual name of the environment.

This is what I did to fix this issue -

I installed tensorflow for windows by using below link -

https://www.tensorflow.org/install/install_windows

Once done - I activated tensorflow by using below command -

C:> activate tensorflow (tensorflow)C:> # Your prompt should change

Once done I ran below command -

(tensorflow)C:> conda install notebook

Fetching package metadata ........... Solving package specifications: .

Package plan for installation in environment

The following NEW packages will be INSTALLED:

bleach:              1.5.0-py35_0
colorama:            0.3.9-py35_0
decorator:           4.1.2-py35_0
entrypoints:         0.2.3-py35_0
html5lib:            0.9999999-py35_0
ipykernel:           4.6.1-py35_0

jupyter_client 100% |###############################| Time: 0:00:00 6.77 MB/s nbformat-4.4.0 100% |###############################| Time: 0:00:00 8.10 MB/s ipykernel-4.6. 100% |###############################| Time: 0:00:00 9.54 MB/s nbconvert-5.2. 100% |###############################| Time: 0:00:00 9.59 MB/s notebook-5.0.0 100% |###############################| Time: 0:00:00 8.24 MB/s

Once done I ran command

(tensorflow)C:>jupyter notebook

It opened new Juypter window and able to Run fine -

import tensorflow as tf

I was able to load tensorflow in Jupyter notebook on Windows by: first do conda create tensorflow install, then activate tensorflow at the command prompt , then execute "Jupyter notebook" from command line. Tensorflow imports at the notebook with no error. However, I was unable to import "Pandas" &"Matplotlib, ....etc"

As suggested by @Jörg, if you have more than one kernel spec. You have to see the path it points to. In my case, it is actually the path that was to be corrected.

When I created TensorFlow virtual env, the spec had the entry for python which was pointing to base env. Thus by changing W:\\miniconda\\python.exe to W:\\miniconda\\envs\\tensorflow\\python.exe solved the problem.

So it is worth looking at your kernel spec. Delete that is not needed and keep those you want. Then look inside the JSON files where the path is given and change if needs be. I hope it helps.

TensorFlow package doesn't come by default with the root environment in Jupyter, to install it do the following :

  • Close Jupyter Notebook.
  • Open Anaconda Navigator (In windows : you can find it using the search bar)
  • On the sidebar, click on the Environments tab (by default you are using the root env).
  • You can see the installed packages, on the top switch to not-installed packages and search for tensorflow, if it doesn't show, click on Update index and it will be displayed.
  • The installation takes some time

  • The foremost way is to create a new virtual environment and install all dependencies like jupyter notebook, tensorflow etc.
  • conda install jupyter notebook

    conda install -c conda-forge tensorflow

  • The other way around is to install tensorflow in the current environment (base or any activated environment).
  • conda install -c conda-forge tensorflow

    Note: It is advisable to create a new virtual environment for every new project. The details how to create and manage virtual environment using conda can be find here:

    https://conda.io/docs/user-guide/tasks/manage-environments.html

    Probably there is a problem with the TensorFlow in your environment. In my case, After installing some libs, my TensorFlow stopped working.

    So I installed TensorFlow again using pip. like so:

    just run

    pip install tensorflow
    

    then I re-imported it into my jupyter notebook as :

    import tensorflow as ft
    

    In case you want to install jupyter and base libs try this:

    pip install jupyter tensorflow keras numpy scipy ipython pandas matplotlib sympy nose
    

    Other supported libraries are necessary to install with TensorFlow.Make sure if these libraries are installed:

  • numpy
  • scipy
  • jupyter
  • matplolib
  • pillow
  • scikit-learn
  • tensorflow-addons,
  • tensorflow.contrib
  • This worked for me. I followed this: https://www.pythonpool.com/no-module-named-tensorflow-error-solved/

    If you have installed TensorFlow globally then this issue should not be occurring. As you are saying you have installed it, maybe you did it in a virtual environment.

    Some background:

    By default, Jupyter will open with a global python interpreter kernel.

    Possible solutions:

    Change your jupyter notebook kernel to your virtual environment kernel. Please check here to see how to create a kernel out of your virtual environment.

    Troubleshooting:

    If the above solution dint work lets do some troubleshooting. When you add your new kernel to jupyter you might have got output like below

    Installed kernelspec thesis-venv in C:\Users\vishnunaik\AppData\Roaming\jupyter\kernels\venv Check the file kernel.json in this path, which might look something like below

    "argv": [ "C:\\Users\\vishnunaik\\Desktop\\Demo\\CodeBase\\venv\\Scripts\\python.exe", "-m", "ipykernel_launcher", "-f", "{connection_file}" "display_name": "thesis-venv", "language": "python", "metadata": { "debugger": true

    Check the path to the python.exe is rightly pointing to your virtual environment python version or not. If not then update it accordingly.

    Now you should be able to use a virtual environment in your jupyter notebook. If your kernel takes a lot of time to respond see jupyter notebook server logs, sometimes you might get output like this

    [I 21:58:38.444 NotebookApp] Kernel started: adbd5551-cca3-4dad-a93f-974d7d25d53b, name: thesis-venv C:\\Users\\vishnunaik\\Desktop\\Demo\\CodeBase\\venv\\Scripts\\python.exe: No module named ipykernel_launcher
    

    This means your virtual environment doesnot have ipykernel installed. So install it in your virtual environment using below command.

    pip install ipykernel
    

    Now you have done everything possible, so I hope this will solve your issue.

    Thanks for contributing an answer to Stack Overflow!

    • Please be sure to answer the question. Provide details and share your research!

    But avoid

    • Asking for help, clarification, or responding to other answers.
    • Making statements based on opinion; back them up with references or personal experience.

    To learn more, see our tips on writing great answers.