Thomas Dehaeze Thomas Dehaeze - 3 months ago 53
Python Question

Link Conda environment with Jupyter Notebook

I'm trying to set a good environnement for doing some scientific stuff with python. To do so, I installed Jupyter & miniconda.

Then I want to be able to have different environnement and use them with Jupyter notebooks. So I created two custom envs with conda : py27 and py35.

> conda env list
# conda environments:
#
py27 /Users/***/miniconda3/envs/py27
py35 /Users/***/miniconda3/envs/py35
root * /Users/***/miniconda3


Then on my notebook I have two kernels
python 2
and
python 3
.
Inside a notebook, I get the following with the python3 kernel :

> import sys
> print(sys.executable)
/Users/***/miniconda3/envs/py35/bin/python


And this with the python2 kernel :

> import sys
> print(sys.executable)
/usr/local/opt/python/bin/python2.7



  • How can I set the
    sys.executable
    to miniconda env for python2 ?

  • How can I bind a conda env with a notebook kernel ?

  • Is doing
    source activate py35
    has a link with
    jupyter notebook
    ?



I think I really missed something.

Thank you everyone.

--- edit

I have multiple jupyter bin :

> where jupyter
/usr/local/bin/jupyter
/usr/local/bin/jupyter
/Users/ThomasDehaeze/miniconda3/bin/jupyter


I have only one kernel here
/usr/local/share/jupyter/kernels/python2
.
But inside Jupyter, I have two kernels,
python2
and
python3
. Where can I find the other one ?




I modified
kernel.json
from
/usr/local/share/jupyter/kernels/python2
:

{
"display_name": "Python 2",
"language": "python",
"argv": [
"/Users/***/miniconda3/envs/py27/bin/python2.7",
"-m",
"ipykernel",
"-f",
"{connection_file}"
]
}


And then :

import sys
print(sys.executable)
/usr/local/opt/python/bin/python2.7


So nothing has changed

Answer

I found the solution. The setup for the kernels where located here ~/Library/Jupyter/kernels/.

Then I modified the kernel.json file and set the right path to python.

Now it's working.

Comments