I have an environment that I started using Anaconda
and I successfully installed a module in it. I know it, because I can run python
and then import tensorflow
. This also works when through ipython
. The problem is, that I cannot load the module from a notebook that I start using either ipython notebook
or jupyter
(even though I execute either from an active environment).
I suspect it relates to the setting of ipython
but I don't know how to debug and solve the issue. Any idea?
Edit: Here are the steps I took:
conda create --name tensorflowproblem python=2.7
to create an environmentsource activate tensorflowproblem
conda install --name tensorflowproblem jupyter
to install jupyterpip install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl
to installtensorflow
The locations of pip
and jupyter
:
$ which -a pip
/Users/dror/anaconda/envs/tensorflowproblem/bin/pip
$ which -a jupyter
/Users/dror/anaconda/envs/tensorflowproblem/bin/jupyter
Note that the directory ~/anaconda/envs/tensorflowproblem/lib/python2.7/site-packages/tensorflow
exists.
In addition neither python -c "import tensorflow"
nor ipython -c "import tensorflow"
yield any kind of error.
As requested, also the out put of
$ conda list -n tensorflowproblem
# packages in environment at /Users/dror/anaconda/envs/tensorflowproblem:
#
appnope 0.1.0 py27_0
backports-abc 0.4 <pip>
backports.ssl-match-hostname 3.4.0.2 <pip>
backports_abc 0.4 py27_0
decorator 4.0.4 py27_0
freetype 2.5.5 0
ipykernel 4.1.1 py27_0
ipython 4.0.0 py27_1
ipython-genutils 0.1.0 <pip>
ipython_genutils 0.1.0 py27_0
ipywidgets 4.1.0 py27_0
jinja2 2.8 py27_0
jsonschema 2.4.0 py27_0
jupyter 1.0.0 py27_0
jupyter-client 4.1.1 <pip>
jupyter-console 4.0.3 <pip>
jupyter-core 4.0.6 <pip>
jupyter_client 4.1.1 py27_0
jupyter_console 4.0.3 py27_0
jupyter_core 4.0.6 py27_0
libpng 1.6.17 0
markupsafe 0.23 py27_0
mistune 0.7.1 py27_0
nbconvert 4.0.0 py27_0
nbformat 4.0.1 py27_0
notebook 4.0.6 py27_0
numpy 1.10.1 <pip>
openssl 1.0.2d 0
path.py 8.1.2 py27_1
pexpect 3.3 py27_0
pickleshare 0.5 py27_0
pip 7.1.2 py27_0
ptyprocess 0.5 py27_0
pygments 2.0.2 py27_0
pyqt 4.11.4 py27_0
python 2.7.10 2
python.app 1.2 py27_4
pyzmq 14.7.0 py27_1
qt 4.8.7 1
qtconsole 4.1.0 py27_0
readline 6.2 2
setuptools 18.5 py27_0
simplegeneric 0.8.1 py27_0
singledispatch 3.4.0.3 py27_0
sip 4.16.9 py27_0
six 1.10.0 py27_0
sqlite 3.8.4.1 1
ssl_match_hostname 3.4.0.2 py27_0
tensorflow 0.5.0 <pip>
terminado 0.5 py27_1
tk 8.5.18 0
tornado 4.3 py27_0
traitlets 4.0.0 py27_0
wheel 0.26.0 py27_1
zeromq 4.1.3 0
zlib 1.2.8 0
In addition, as requested, the output of sys.path
is:
['',
'/Users/user/anaconda/envs/py2/lib/python27.zip',
'/Users/user/anaconda/envs/py2/lib/python2.7',
'/Users/user/anaconda/envs/py2/lib/python2.7/plat-darwin',
'/Users/user/anaconda/envs/py2/lib/python2.7/plat-mac',
'/Users/user/anaconda/envs/py2/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/user/anaconda/envs/py2/lib/python2.7/lib-tk',
'/Users/user/anaconda/envs/py2/lib/python2.7/lib-old',
'/Users/user/anaconda/envs/py2/lib/python2.7/lib-dynload',
'/Users/user/anaconda/envs/py2/lib/python2.7/site-packages',
'/Users/user/anaconda/envs/py2/lib/python2.7/site-packages/Sphinx-1.3.1-py2.7.egg',
'/Users/user/anaconda/envs/py2/lib/python2.7/site-packages/aeosa',
'/Users/user/anaconda/envs/py2/lib/python2.7/site-packages/setuptools-17.1.1-py2.7.egg',
'/Users/user/anaconda/envs/py2/lib/python2.7/site-packages/IPython/extensions',
'/Users/user/.ipython']
From my experience with module xlrd working in console and not in Jupyter, you can try go to your system Python folder
/usr/local/bin/
, then look for your python version. Then use thepipXX
file there to install the module you require.For jupyter notebook, the following python package is useful for managing which python kernel / anaconda environment to run a notebook with:
Run this install either in your default environment, or a specific one. After starting
jupyter notebook
you should see the options for your anaconda environments in two places:kernel > change kernel
dropdown for an existing notebook.For more details, I found this post helpful!
Most likely your notebook has not loaded the right kernel (environment). The environment name is shown in the top right corner. See the red circle in the image below. If this isn't right, then click on Kernel->Change Kernel and select the appropriate kernel.
I had a similar problem: Every package I install on Linux terminal (either using conda or pip) works fine (I can import) on python console as follows (for example):
So on PYTHON3 console I get no problem:but Jupyter notebook would give error with the dreadful massage
I followed one of the answers above and did the following on linux terminal:
Now "pip install xxx" would tell me package already exists, and no change. But since I am using python3 on Jupyter notebook, I tried
on Linux terminal and now in my jupyter notebook I can do
No more "No module named tensorflow" message. Using Jupyter notebook is great, but importing packages had been a nightmare. Not anymore due to above steps, thought I share this, perhaps I save others from similar agony :).
Try the following:
It sounds like your tensorflowproblem env doesn't have an ipython kernel, but another (probably your root) env does. When you are launching Jupyter, it is putting you into the env with the kernel but without the tensorflow package. If you haven't run the above lines yet, you could test this theory by opening a notebook and running:
If the first few paths don't show 'envs/tensorflowproblem' as part of them it would explain the issue.