ob-ipython
ob-ipython copied to clipboard
Ubuntu 16.04 ImportError: No module named 'jupyter_client'
Hi
I am running Ubuntu 16.04, upgraded to pip 9.03 (because pip 10 has a bug), running emacs git master from June.
I installed your package via melpa, then I installed, via pip, the matlab kernel and the jupyter client. Both are in /usr/local/lib/python2.7/dist-packages
drwxrwsr-x 40 root staff 4.0K Jul 2 11:26 .
drwxr-sr-x 2 root staff 4.0K Jul 2 11:26 matlab_kernel
drwxr-sr-x 2 root staff 4.0K Jul 2 11:26 matlab_kernel-0.15.1.dist-info
drwxr-sr-x 6 root staff 4.0K Jul 2 11:26 metakernel
drwxr-sr-x 2 root staff 4.0K Jul 2 11:26 metakernel-0.20.14.dist-info
drwxr-sr-x 2 root staff 4.0K Jul 2 11:26 ipykernel-4.8.2.dist-info
drwxr-sr-x 8 root staff 4.0K Jul 2 11:26 ipykernel
-rw-r--r-- 1 root staff 552 Jul 2 11:26 ipykernel_launcher.pyc
drwxr-sr-x 2 root staff 4.0K Jul 2 11:26 ipython-5.7.0.dist-info
drwxr-sr-x 11 root staff 4.0K Jul 2 11:26 IPython
drwxr-sr-x 5 root staff 4.0K Jul 2 11:26 jupyter_client
drwxr-sr-x 2 root staff 4.0K Jul 2 11:26 jupyter_client-5.2.3.dist-info
Now following the advice of John Kitchin, I try to execute the following code
#+BEGIN_SRC emacs-lisp
(add-to-list 'org-src-lang-modes '("matlab" . matlab))
;; set default headers for convenience
(setq org-babel-default-header-args:matlab
'((:results . "output replace")
(:session . "matlab")
(:kernel . "matlab")
(:exports . "code")
(:cache . "no")
(:noweb . "no")
(:hlines . "no")
(:tangle . "no")))
(defalias 'org-babel-execute:matlab 'org-babel-execute:ipython)
(defalias 'org-babel-prep-session:matlab 'org-babel-prep-session:ipython)
(defalias 'org-babel-matlab-initiate-session 'org-babel-ipython-initiate-session)
#+END_SRC
#+RESULTS:
: org-babel-matlab-initiate-session
#+BEGIN_SRC matlab :results output org drawer
x = [1, 2, 3, 4, 5];
fprintf('|%d', x)
#+END_SRC
But I obtain the following error in the debug buffer
Traceback (most recent call last):
File "/home/oub/.emacs.d/elpa/ob-ipython-20180224.153/client.py", line 1, in <module>
import jupyter_client as client
ImportError: No module named 'jupyter_client'
I also tried the example provided in https://github.com/gregsexton/ob-ipython but the result was the same.
So how shall I modify that line in the client.py?
Thanks and regards
Uwe Brauer
Some comments:
when I run from the shell
``python client.py
Traceback (most recent call last):
File "client.py", line 60, in
and when I run
python3 client.py Traceback (most recent call last): File "client.py", line 1, in <module> import jupyter_client as client ImportError: No module named 'jupyter_client'
which is the message emacs also show. It seems that pip installed jupyter in python2.7 where python3 cannot find it, while python 2.7 cannot deal with jupyter. Is this correct? any workarounds?
Solved sort of, I had to run
sudo -H python3 -m pip install jupyter
which installed the jupyter for python3. So I think it is save to close the issue.
I am still getting this error. Did not get fixed by doing what this thread recommends. Any ideas?
File "/Users/ghamelas/.emacs.d/elpa/ob-ipython-20180224.953/client.py", line 1, in <module>
import jupyter_client as client
ImportError: No module named jupyter_client
bump. were you able to fix this? @Gahamelas
I did! Had to do with variables and different version of python. Not sure how I specifically managed to fix it, I changed many things at once, and one day I tried and it worked.
Function ob-ipython--get-python
defines the python path. That python environment should have jupyter_client
in its environment.