I am getting this error when executing any source ipython block such as this one:

#+BEGIN_SRC ipython :session :results output drawer

# Compute areas and colors
import numpy as np
import matplotlib.pyplot as plt

N = 150
r = 2 * np.random.rand(N)
theta = 2 * np.pi * np.random.rand(N)
area = 200 * r**2
colors = theta

ax = plt.subplot(111, projection='polar')
c = ax.scatter(theta, r, c=colors, s=area, cmap='hsv', alpha=0.75)


There was a fatal error trying to process the request. See ob-ipython-debug


 File "/Users/USER/.emacs.d/elpa/ob-ipython-20180113.929/client.py", line 1, in <module>
    import jupyter_client as client
ImportError: No module named jupyter_client

I don't know what can be wrong (I have all the necessary dependencies requires like ipython, jupyter, python, and obviously ob-ipython). Any help appreciated.

Thanks, EG

  • BTW, the ob-ipython-debug says: Traceback (most recent call last): File "/Users/USER/.emacs.d/elpa/ob-ipython-20180113.929/client.py", line 1, in <module> import jupyter_client as client ImportError: No module named jupyter_client" Jan 31, 2018 at 15:31
  • Can you post the part of the .emacs related with your babel configuration?
    – Dox
    Jan 31, 2018 at 16:05
  • Sure, but I don't think it's related to babel (org-babel-do-load-languages 'org-babel-load-languages '((matlab . t) (python . t) (ipython . t) ;(emacs-lisp . t) ;(shell . t) ;(matlab . t) ;(dot . t) ;(R . t) )) Jan 31, 2018 at 16:09
  • [Sorry, I don't seem to know how to format code in stackexchange] Jan 31, 2018 at 16:10
  • I'm getting the same error. I've checked and the file IS there. I tried to give execution permission to the file... but I'm still getting the error. I also have the line (require 'ob-ipython) in the .emacs file.
    – Dox
    Jan 31, 2018 at 16:37

1 Answer 1


On my system, this error happens because my jupyter installation is based on python3, while python-shell-interpreter in emacs is python. This can be fixed by running M-S-: (setq python-shell-interpreter "python3"). You can put this command in your init file if you only use python3.

For those on Debian/Ubuntu, this can also be fixed by installing python2.7 version of jupyter by running apt install python-jupyter-client python-jupyter-console. Note that Debian packages jupyter-* are all python3 based.

Another way to deal with this issue is by using python environments. If you're using Anaconda and installed jupyter through it, running conda activate before you start emacs should point your shell's python to conda's version.

  • Solved my problem. Thanks!
    – lkahtz
    Apr 28, 2019 at 6:34
  • I followed the instruction, but alas I keep getting the problem. "ImportError: No module named jupyter_client". I will never be able to use ipython :(( Apr 21, 2020 at 7:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.