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 withjupyter 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
Best Answer
For Anaconda I suggest you a much easier and proper solution; just give a look at the nb_conda_kernels package.
It allows you to "manage your conda environment-based kernels inside the Jupyter Notebook".
Is should be included since Anaconda version 4.1.0, otherwise simply use
Now you should be able to manage all direcly from the Notebook interface.
Note that only environments that have a Jupyter kernel installed (in the case of Python, the
ipykernel
package). Quote from thenb_conda_kernels
GitHub page: