Reputation: 1578
I have IPython 3 installed for Python 3 in order to work with Jupyterhub.
Now I'm able to use notebooks with a Python2 kernel, because I created /usr/local/share/jupyter/kernels/python2/kernel.json
with:
{
"argv": ["python2", "-m", "IPython.kernel",
"-f", "{connection_file}"],
"display_name": "Python 2",
"language": "python2"
}
Now I would also like to use IPython.parallel, but when I start a cluster it will automatically start engines in Python 3, how can I change this to Python 2?
Upvotes: 6
Views: 2456
Reputation: 1578
I solved the issue by
sudo mkdir /etc/ipython/
sudo nano /etc/ipython/ipython_config.py
add these lines:
c = get_config()
c.LocalControllerLauncher.controller_cmd = ['/usr/bin/python2', '-m', 'IPython.parallel.controller']
c.LocalEngineLauncher.engine_cmd = ['/usr/bin/python2', '-m', 'IPython.parallel.engine']
c.LocalEngineSetLauncher.engine_cmd = ['/usr/bin/python2', '-m', 'IPython.parallel.engine']
And now the engines should start with python2
EDIT for Jupyter 1.0 or IPython 4.0: Change to
c = get_config()
c.LocalControllerLauncher.controller_cmd = ['/usr/bin/python2', '-m', 'ipyparallel.controller']
c.LocalEngineLauncher.engine_cmd = ['/usr/bin/python2', '-m', 'ipyparallel.engine']
c.LocalEngineSetLauncher.engine_cmd = ['/usr/bin/python2', '-m', 'ipyparallel.engine']
and to get the cluster tab back: sudo mkdir /etc/jupyter/
sudo nano /etc/jupyter/jupyter_notebook_config.py
Add this:
c.NotebookApp.server_extensions.append('ipyparallel.nbextension')
Upvotes: 2