title: Error executing Python script AttributeError: 'NoneType' object has no attribute 'run_line_magic'
body: <p>I am getting error on the following python code. I'm running from a script. Im using python 2.7.12.</p>
  
  <pre><code>import os
  import numpy as np
  import pandas as pd
  import matplotlib.pyplot as plt
  from IPython import get_ipython
  ipython_shell = get_ipython()
  get_ipython().run_line_magic('matplotlib', 'inline')
  </code></pre>
  
  <p>I have tried using both py and jpy extensions. Tried to change the syntax for importing matplotlib but nothing works. </p>
  
  <p>The error from running with python shows</p>
  
  <pre><code>Traceback (most recent call last):
    File "LR.jpy", line 7, in &lt;module&gt;
      get_ipython().run_line_magic('matplotlib', 'inline')
  AttributeError: 'NoneType' object has no attribute 'run_line_magic'
  </code></pre>
  
  <p>Error from running with iPython shows</p>
  
  <pre><code>---------------------------------------------------------------------------
  ImportError                               Traceback (most recent call last)
  C:\Users\Roland\Google Drive\Work\Machine Learning\machine-learning-ex1\ex1\LR.jpy in &lt;module&gt;()
        5 from IPython import get_ipython
        6 ipython_shell = get_ipython()
  ----&gt; 7 get_ipython().run_line_magic('matplotlib', 'inline')
  
  c:\program files\python\lib\site-packages\IPython\core\interactiveshell.pyc in run_line_magic(self, magic_name, line)
     2077                 kwargs['local_ns'] = sys._getframe(stack_depth).f_locals
     2078             with self.builtin_trap:
  -&gt; 2079                 result = fn(*args,**kwargs)
     2080             return result
     2081
  
  &lt;decorator-gen-105&gt; in matplotlib(self, line)
  
  c:\program files\python\lib\site-packages\IPython\core\magic.pyc in &lt;lambda&gt;(f, *a, **k)
      186     # but it's overkill for just that one bit of state.
      187     def magic_deco(arg):
  --&gt; 188         call = lambda f, *a, **k: f(*a, **k)
      189
      190         if callable(arg):
  
  c:\program files\python\lib\site-packages\IPython\core\magics\pylab.pyc in matplotlib(self, line)
       98             print("Available matplotlib backends: %s" % backends_list)
       99         else:
  --&gt; 100             gui, backend = self.shell.enable_matplotlib(args.gui)
      101             self._show_matplotlib_backend(args.gui, backend)
      102
  
  c:\program files\python\lib\site-packages\IPython\core\interactiveshell.pyc in enable_matplotlib(self, gui)
     2945                 gui, backend = pt.find_gui_and_backend(self.pylab_gui_select)
     2946
  -&gt; 2947         pt.activate_matplotlib(backend)
     2948         pt.configure_inline_support(self, backend)
     2949
  
  c:\program files\python\lib\site-packages\IPython\core\pylabtools.pyc in activate_matplotlib(backend)
      293
      294     import matplotlib.pyplot
  --&gt; 295     matplotlib.pyplot.switch_backend(backend)
      296
      297     # This must be imported last in the matplotlib series, after
  
  c:\program files\python\lib\site-packages\matplotlib\pyplot.pyc in switch_backend(newbackend)
      230     matplotlib.use(newbackend, warn=False, force=True)
      231     from matplotlib.backends import pylab_setup
  --&gt; 232     _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
      233
      234
  
  c:\program files\python\lib\site-packages\matplotlib\backends\__init__.pyc in pylab_setup()
       30     # imports. 0 means only perform absolute imports.
       31     backend_mod = __import__(backend_name,
  ---&gt; 32                              globals(),locals(),[backend_name],0)
       33
       34     # Things we pull in from all backends
  
  ImportError: No module named ipykernel.pylab.backend_inline
  </code></pre>
  
  <p><strong>EDIT:</strong></p>
  
  <p>After installing ipykernel trying to run the script using ipython gives me followng errors</p>
  
  <pre><code>---------------------------------------------------------------------------
  UnknownBackend                            Traceback (most recent call last)
  C:\Users\Roland\Google Drive\Work\Machine Learning\machine-learning-ex1\ex1\LR.py in &lt;module&gt;()
        5 from IPython import get_ipython
        6 ipython_shell = get_ipython()
  ----&gt; 7 get_ipython().run_line_magic('matplotlib', 'inline')
  
  c:\program files\python\lib\site-packages\IPython\core\interactiveshell.pyc in run_line_magic(self, magic_name, line)
     2077                 kwargs['local_ns'] = sys._getframe(stack_depth).f_locals
     2078             with self.builtin_trap:
  -&gt; 2079                 result = fn(*args,**kwargs)
     2080             return result
     2081
  
  &lt;decorator-gen-105&gt; in matplotlib(self, line)
  
  c:\program files\python\lib\site-packages\IPython\core\magic.pyc in &lt;lambda&gt;(f, *a, **k)
      186     # but it's overkill for just that one bit of state.
      187     def magic_deco(arg):
  --&gt; 188         call = lambda f, *a, **k: f(*a, **k)
      189
      190         if callable(arg):
  
  c:\program files\python\lib\site-packages\IPython\core\magics\pylab.pyc in matplotlib(self, line)
       98             print("Available matplotlib backends: %s" % backends_list)
       99         else:
  --&gt; 100             gui, backend = self.shell.enable_matplotlib(args.gui)
      101             self._show_matplotlib_backend(args.gui, backend)
      102
  
  c:\program files\python\lib\site-packages\IPython\core\interactiveshell.pyc in enable_matplotlib(self, gui)
     2950         # Now we must activate the gui pylab wants to use, and fix %run to take
     2951         # plot updates into account
  -&gt; 2952         self.enable_gui(gui)
     2953         self.magics_manager.registry['ExecutionMagics'].default_runner = \
     2954             pt.mpl_runner(self.safe_execfile)
  
  c:\program files\python\lib\site-packages\IPython\terminal\interactiveshell.pyc in enable_gui(self, gui)
      450     def enable_gui(self, gui=None):
      451         if gui:
  --&gt; 452             self._inputhook = get_inputhook_func(gui)
      453         else:
      454             self._inputhook = None
  
  c:\program files\python\lib\site-packages\IPython\terminal\pt_inputhooks\__init__.pyc in get_inputhook_func(gui)
       36
       37     if gui not in backends:
  ---&gt; 38         raise UnknownBackend(gui)
       39
       40     if gui in aliases:
  
  UnknownBackend: No event loop integration for u'inline'. Supported event loops are: qt, qt4, qt5, gtk, gtk2, gtk3, tk, wx, pyglet, glut, osx
  </code></pre>