How to add a conda environment in jupyter - python

I'm try to enable a keras environmnt into jupyter.
Using below commands I added the conda tf environment for Keras :
C:>conda create --name tf python=3.5
C:>activate tf (tf)
C:\Keras\Test>pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.4.0-cp35-cp35m-win_amd64.whl
Next I downloaded Keras-2.1.3-py2.py3-none-any.whl (from : https://repo.continuum.io/archive/)
And successfully installed it.
(tf) C:\Keras>pip install --ignore-installed --upgrade C:\Keras\Keras-2.1.3-py2.py3-none-any.whl
But then when i type
(tf) c:\Keras\Jupyter Notebook
.
I would have thought to be able to 'switch' to the tf keras environment.
When starting up the web browser
But all I see in below jupyter page is the python 3 environment which doesn't know of keras. So shouldn't I see a "tf" environment here as well?
from both environments i can start the jupyter notebook, but not sure if that should make a difference, both startups dont show tf, am i missing something here?. (in the picture i also show both conda consoles)
When i try to launch a notebook that makes use of keras.
Then this is the error i see like if it wasnt installed ?. (i'm sure it did though).
.
However a small test in python ran directly from the console
proves keras is installed and working
(but why not in jupyter??)

Well when i was in the (tf) environment made earlier and typed "conda list"
I got a fairly short list of installed packages (just tensorflow) about 26 packages.
Then I noted that jupyter package wasnt in this environment.
Not sure if it should i added it with
conda install jupyter
After a while (that command added about 8 Gig of python code...) it got installed.
With the message:
Enabling notebook extension jupyter-js-widgets/extension...
- Validating: ok
next i tried
(tf) C:\Keras>python -m ipykernel install --user --name tf --display-name "Python3 tensorflow"
with a message "Installed kernelspec tf in C:\Users\Peter\AppData\Roaming\jupyter\kernels\tf"
I'm not sure though if this is the proper solution, because would it
always be required to add 8Giga just to launch it in a webpage.
(seams overkill, but i just dont know if that's normal for conda-jupyter. (while jupyther was allready in the 'plain' python 3
enviroment. (or it was available to conda)...not sure i'm thinking
perhaps it be better if conda was part of jupyter but maybe its just
the otherway around.

Fundamentally the problem is usually rooted in the fact that the Jupyter kernels are disconnected from Jupyter's shell; in other words, the installer points to a different Python version than is being used in the notebook.
You might first try installing with conda.
conda install -c conda-forge keras
Otherwise you can try installing from within the notebook itself:
# Install a pip package in the current Jupyter kernel
import sys
!{sys.executable} -m pip install keras
As tempting as it might be... DO NOT DO:
# DON'T DO THIS
!pip install keras

Create kernel.json file in ~/local/share/jupyter/kernels/<YOUR_KERNEL_NAME/. Take an example for the content from:/usr/local/share/jupyter/kernels/python3/kernel.json
see: https://jupyter-client.readthedocs.io/en/stable/kernels.html
https://ipython.org/ipython-doc/3/development/kernels.html

Related

How to import modules into Jupyter Notebook kernel

I am having problems installing modules and then importing them into specific Jupyter Notebook kernels. I want to install them directly into the kernel as opposed to throughout anaconda to separate dependencies in projects. Here is how the problem goes:
I firstly want a package, for example, nltk
I navigate to and activate the conda environment (called python3) and run 'conda install nltk'
I then load that environment into Jupyter using ipykernel with the command 'python -m ipykernel install --user --name python3'
When trying to import the package into the notebook it tells me that it cannot be found
I have been struggling with this for a while. Where am I going wrong? I greatly appreciate all the help.
NOTE: I have somehow managed to install and import many packages into notebooks using the aforementioned process. I'd really like a method to do this in a foolproof manner.
Not entirely clear where things go wrong, but perhaps clarifying some of the terminology could help:
"navigate to...the conda environment" - navigating has zero effect on anything. Most end-users should never enter or directly write to any environment directories.
"...and activate the conda environment" - activation is unnecessary - a more robust installation command is always to use a -n,--name argument:
conda install -n python3 nltk
This is more robust because it is not context-sensitive, i.e., it doesn't matter what (if any) environment is currently activated.
"load that environment into Jupyter using ipykernel" - that command registers the environment as a kernel at a user-level. That only ever needs to be run once per kernel - not after each new package installation. Loading the kernel happens when you are creating (or changing the settings of) a notebook. That is, you choose the kernel in the Jupyter GUI.
Even better, keep jupyter in a dedicated environment with an installation of nb_conda_kernels and Jupyter (launched from that dedicated environment) will auto-discover all Conda environments that have valid kernels installed (e.g., ipykernel, r-irkernel).

ModuleNotFoundError in Jupyter while pip freeze shows its installed

I created a virtual environment, installed pandas and some other libraries, changed the ipython kernel and then opened jupyter inside my virtual environment. Pandas and other libraries worked fine.
Then i installed fastai in my virtualenv, but it shows ModuleNotFoundError in Jupyter only. It works fine in terminal, when i run !pip freeze inside Jupyter it lists 'fastai', when i try to install it in jupyter with '!pip install fastai' it shows 'Requirement already satisfied' but importing it still gives me 'ModuleNotFoundError'. Check this image for example
All answers on SO to this question are for people who haven't changed their jupyter kernel to their environment or who have had other issues, but i couldn't find my issue.
You have to add the virtualenv to the kernel. Nice discussion is here (Execute Python script within Jupyter notebook using a specific virtualenv).
Assuming virtualenv is working fine (jupyter-notebook and fastai are working), these are the additional steps, I might have tried. In the second line (below) change the "--name=NameOfVirtualEnv" appropriately with the name of your virtualenv.
pip install --user ipykernel
python -m ipykernel install --user --name=NameOfVirtualEnv
After that once you start the Jupyter notebook, you will see the "New" dropdown to the right side .. there you will have your virtual environment with the fastai.
Please let me know the outcome. Curious if it worked for you.

Installing Tensorflow - not supported wheel

I have installed Python version 3.5 and 3.6 and anaconda.
The following error occures when trying to install tensorflow following the steps here
https://www.tensorflow.org/install/install_windows
unsing anaconda
(tensorflow) C:> pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.1-cp35-cp35m-win_amd64.whl
tensorflow-1.0.1-cp35-cp35m-win_amd64.whl is not a supported wheel on this platform.
As I am new to Python, I do not know how to circumvent this probelm.
I am using Win10 with 64bit.
Thanks a lot and best,
Martin
I ran into the same difficulties with the same error. It seems to be that Python 3.6 isn't immediately supported and found a sort of workaround here (note that this involves installing Python 3.5 which I did not already have installed, I don't know if this should be done a different way if its already installed):
If you are using anaconda distribution, you can do the following to use python 3.5 on the new environment "tensorflow":
conda create --name tensorflow python=3.5
activate tensorflow
conda install jupyter
conda install scipy
pip install tensorflow
\# or
\# pip install tensorflow-gpu
It is important to add python=3.5 at the end of the first line, because it will install Python 3.5.
If you've already created the tensorflow environment (the conda create step), you'll have to delete it and start over. Otherwise, you'll run into an error "CondaValueError: Value error: prefix already exists: C:\[your environment location]" (If you run into the unsupported wheel error, then you probably created the environment already.)
To delete your previous environment, according to the Conda Cheat Sheet, you first deactivate from (tensor flow) if needed by calling deactivate, then call conda remove --prefix ~/bioenvcopy --all. For ~/bioenvcopy I believe you use the tensorflow environment path. The location can be found by calling conda info --envs (citing the cheat sheet once again). Mine, for example, was conda remove --prefix ~/Anaconda3/envs/tensorflow
I successfully used this work around on Windows 10.
This solution probably be obsolete when 3.6 is supported.
Creating the tensorflow env without the correct python version did not work for me. So I had to do the following, which worked...
>deactivate tensorflow # start by deactivating the existing tensorflow env
>conda env remove -n tensorflow # remove the env
>conda create -n tensorflow python=3.5
>activate tensorflow
i had the same problem in windows 10 and python 3.6
so i navigated to anaconda navigator ( just search anaconda navigator in start search).
in the Environment tab you can create/delete your environments.
just create an environment, name it tensorflow and choose python 3.5 as python version.
then you can activate tensorflow in your command line:
activate tensorflow
and install tensorflow with :
pip install tensorflow #or tensowrlow-gpu
I had the same problem after hours of searching, I found that to save yourself from installing error problem in tensorflow. The convenient way for installing tensorflow is by creating a virtual environment in Conda with python 3.5.2 and using Conda-forge. This is done by running this commands:
conda create -n tensorflow python=3.5.2
activate tensorflow
conda config --add channels conda-forge
conda install tensorflow
Try installing the 64-bit version of Python 3.6.8:
https://www.python.org/ftp/python/3.6.8/python-3.6.8-amd64.exe
I was getting the same error with the same OS and that's what fixed it. Apparently Tensorflow doesn't work on 32-bit Python even if your OS is 64-bit.
Try uninstalling everything (python, etc.) and try again using the cmd only, not git bash or PowerShell.
https://github.com/tensorflow/tensorflow/issues/9264
In Anaconda prompt, follow the instruction on Installing with Anaconda,
conda create -n tensorflow
activate tensorflow
Then the third step is a little different, try:
pip install tensorflow
This should work, good luck! If anything wrong happens, please let me know.

Tensorflow GPU - Spyder

I am having a problem with importing tensorflow GPU on spyder.
This is what I get when I type import tensorflow on iPython using Spyder 3 (on MacOS)
When I checked what packages I have within tensorflow I get this list, which I see that iPython, and Spyder are not included.
Also in anaconda, when I click on tensorflow in Environments, I have the option to open it with Python, with terminal, but not with iPython or Spyder (or Jupyter)
I would very much appreciate any help.
UPDATE 1:
Ok I managed to get Spyder on tensorflow's ENV but when I run the command 'import tensorflow' on iPython I get this error (when I run the same command on Python's tab everything seems to work just fine.
Finally I solved this mystery. If you have installed Spyder from the Anaconda, go to the Anaconda launcher. There go to environments, you will see two of them: root and tensorflow. The latter one is created due to the instructions by tensorflow.org. Just run all those instructions on the root, don't activate tensorflow environment, it will work. Everything will be available in spyder.
The instructions mentioned on the (https://www.tensorflow.org/install/install_windows) link do NOT work for the Ananconda/Spyder setups on windows. Having struggled through this for hours below is the easiest solution to get this working. Hope this helps!
Basically you do NOT need to create a seperate tensorflow environment if you want to run this on spyder. Use the below commands to install tensorflow on the ananconda client.
1) Open the Ananconda prompt from the installation folder in the start menu.
2) Run below commands:
conda install pyqt
conda install tensorflow
Spyder is picking up the default Anaconda Env, whereas you have tensorflow install in a separate environment tensorflow
To work with Spyder & tensorflow, install tensor flow and openssl in default ENV
I figured out how to get this working using the instruction on Tensorflow link. Once you create the tensorflow enviroment you can Spyder(Tensorflow) in your ananconda start menu folder. If you run your code by opening this the tensorflow should work.
Using the Anaconda Navigator:
It works for me in a different way:
As tensorflow is separately created environment, install spyder in tensorflow envirnment.
(Anaconda>Home>Applications on>tensorflow>spyder>install ... wait for installation to complete and ten launch)
I have seen another issue in anaconda. If you install Tensor flow in root or custom environment (like 'tensorflow') its not accessible from jupyter notebook or spyder. The best way to do this is to install it in the administrator mode. Follow these steps:
Open "Anaconda Prompt" as an administrator.
Verify the status on top written "Administrator: Anaconda Prompt"
DON'T Activate any of the environments, root or tensorflow.
Type in the command "pip install --ignore-installed --upgrade tensorflow-gpu" to install Tensorflow with GPU support.
To install Keras type "conda install -c conda-forge keras"
To verify installation, type 'python' and then inside python env. type 'import tensorflow as tf'. If all is well it will work without error.
I faced the same issue and solved by performing following steps in order.
Assuming that you have created conda environment, installed tensorflow and activated it and also installed spyder.
Check the executable python of your conda environment
>>import sys
>>sys.executable
Note the path of python executable.
Go to Spyder preferences and set the interpreter path to the one noted above.

Tensorflow and Anaconda on Ubuntu?

On my Ubuntu 14.04, I have installed tensorflow, using "pip", as specified in the Tensorflow Installation instructions and I made sure it was working by importing it in python and it did work.
Then, I installed Anaconda and it changed my .bashrc file by adding the following line to it:
export PATH="/home/sonny/anaconda2/bin:$PATH"
But because of this change, now it looks into the PATH above, which doesn't contain tensorflow. now I can't import tensorflow in my python code.
What is the proper way to extend the $PATH environment variable so that it stays using everything from anaconda2 but it becomes able to import "tensorflow"?
I solved the problem but in a different way!
I found a link where the tensorflow.whl files were converted to conda packages, so I went ahead and installed it using the command:
conda install -c https://conda.anaconda.org/jjhelmus tensorflow
and it worked, since the $PATH points to anaconda packages, I can import it now!
Source is here
Since v0.10.0, tensorflow is a community maintained conda package in the conda-forge channel. Hence, it can be installed directly with the following command:
conda install -c conda-forge tensorflow
The instructions on the TensorFlow documentation has also been updated.
To facilitate future updates, it is probably a good idea to add conda-forge channel into your conda config:
conda config --add channels conda-forge
In fact, tensorflow=0.10.0rc0 was recently added onto the Anaconda default channel and will be installed instead if the conda-forge channel is not specified:
conda install tensorflow
I had the same problem and decided it was easiest to start over, install Anaconda first and then TensorFlow after that.
I suspect that pip is giving you a TensorFlow installation in cpython, not anaconda.
How about a virtualenv?
# Create env
$ virtualenv --python=/path/to/anaconda /path/to/your/env
# Activate env
$ source /path/to/your/env/bin/activate
# Install Tensorflow
$ pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl
Install tensorflow from the following command. Conda will take care of the installation process.
conda install -c conda-forge tensorflow
I solved the problem using this:
conda create --name=tensorenv python=3.4
source activate tensorenv
Actually, the TensorFlow Official website made every detail of installing.
The Operation System Windows, Mac OS, Ubuntu; the environment with GPU or just CPU, every single detail of problems you may come up with.
Check this out
Installing TensorFlow on Ubuntu with Anaconda
you will not regret.
Once you visit that you may also find like
Installing TensorFlow on Windows with Anaconda

Categories

Resources