2016-11-21 140 views
0

次のPythonコードでエラーが発生します。私はスクリプトから実行しています。私はPython 2.7.12を使用しています。Pythonスクリプトの実行中にエラーが発生しました。AttributeError: 'NoneType'オブジェクトに 'run_line_magic'属性がありません。

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') 

pyとjpy拡張の両方を使用してみました。 matplotlibをインポートする構文を変更しようとしましたが、何も動作しません。

のpythonを実行しているからエラーがiPythonで実行しているから

Traceback (most recent call last): 
    File "LR.jpy", line 7, in <module> 
    get_ipython().run_line_magic('matplotlib', 'inline') 
AttributeError: 'NoneType' object has no attribute 'run_line_magic' 

エラーが

--------------------------------------------------------------------------- 
ImportError        Traceback (most recent call last) 
C:\Users\Roland\Google Drive\Work\Machine Learning\machine-learning-ex1\ex1\LR.jpy in <module>() 
     5 from IPython import get_ipython 
     6 ipython_shell = get_ipython() 
----> 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: 
-> 2079     result = fn(*args,**kwargs) 
    2080    return result 
    2081 

<decorator-gen-105> in matplotlib(self, line) 

c:\program files\python\lib\site-packages\IPython\core\magic.pyc in <lambda>(f, *a, **k) 
    186  # but it's overkill for just that one bit of state. 
    187  def magic_deco(arg): 
--> 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: 
--> 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 
-> 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 
--> 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 
--> 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, 
---> 32        globals(),locals(),[backend_name],0) 
    33 
    34  # Things we pull in from all backends 

ImportError: No module named ipykernel.pylab.backend_inline 

EDIT示して示していますipythonを与える使用してスクリプトを実行しようとしてipykernelインストールした後

を私の追従誤差

最初のケースで
--------------------------------------------------------------------------- 
UnknownBackend       Traceback (most recent call last) 
C:\Users\Roland\Google Drive\Work\Machine Learning\machine-learning-ex1\ex1\LR.py in <module>() 
     5 from IPython import get_ipython 
     6 ipython_shell = get_ipython() 
----> 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: 
-> 2079     result = fn(*args,**kwargs) 
    2080    return result 
    2081 

<decorator-gen-105> in matplotlib(self, line) 

c:\program files\python\lib\site-packages\IPython\core\magic.pyc in <lambda>(f, *a, **k) 
    186  # but it's overkill for just that one bit of state. 
    187  def magic_deco(arg): 
--> 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: 
--> 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 
-> 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: 
--> 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: 
---> 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 

答えて

0

私の問題は端末ではプロット画像を表示することができませんでした。私はジュピターノートブックを使う必要があった。私はjupyterノートブックをインストールし、次のコマンドで実行しました。

jupyter notebook 

その後、ブラウザの新しいタブが開きます。右上に新しいボタンがあります。そこ

enter image description here

私はセルがある新しいタブでのpython 2を選択。各セルにコードを貼り付けて実行することができます。それが私にとって問題を解決しました。

0

あなたは後者の場合にはIPython

Help on function get_ipython in module IPython.core.getipython: 

get_ipython() 
    Get the global InteractiveShell instance. 

    Returns None if no InteractiveShell instance is registered. 

を実行している場合、あなたは唯一の非なしインスタンスを取り戻す、インラインバックエンドは、あなたが持っていない可能性がありipykernelの一部として出荷されていますインストールされます。 inlineバックエンドは、通常のプロンプトではなく、ノートブックとqtconsoleでのみ動作します。

+0

ipykernelをインストールした後、ビルドエラーで投稿を編集しました。 InteactiveShellインスタンスの登録方法を教えてください。返信いただきありがとうございます。 – Tahlil

関連する問題