jupyter notebook %matplotlib 错误
jupyter notebook %matplotlib error
我的系统是 Ubuntu 15.04 64 位。
我的 python 版本:
**:~$ python
Python 2.7.11 |Anaconda custom (64-bit)| (default, Dec 6 2015, 18:08:32)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
我的ipython版本:
**:~$ ipython
Python 2.7.11 |Anaconda custom (64-bit)| (default, Dec 6 2015, 18:08:32)
Type "copyright", "credits" or "license" for more information.
IPython 4.2.0 -- An enhanced Interactive Python.
我用过conda install matplotlib
、conda install numpy
和conda install scipy
。
版本和位置
# packages in environment at /home/hust/anaconda2:
numpy 1.10.4 py27_1
matplotlib 1.5.1 np110py27_0
scipy 0.17.0 np110py27_3
在ipython、
In[1] %matplotlib
Using matplotlib backend: Qt4Agg
In[2] from pylab import*
没关系。
为了在 jupyter notebook 中新建一个 python2
,我使用了在 Kernels for Python 2
中找到的这些命令
conda create -n ipykernel_py2 python=2 ipykernel
source activate ipykernel_py2
python -m ipykernel install --user
现在在终端输入jupyter notebook
,新建一个python2
。我尝试使用 %matplotlib
In[1]: %matplotlib
ImportError Traceback (most recent call last)
<ipython-input-2-f64cd8484500> in <module>()
----> 1 get_ipython().magic(u'matplotlib')
/home/hust/.local/lib/python2.7/site-packages/IPython /core/interactiveshell.pyc in magic(self, arg_s)
2161 magic_name, _, magic_arg_s = arg_s.partition(' ')
2162 magic_name = magic_name.lstrip(prefilter.ESC_MAGIC)
-> 2163 return self.run_line_magic(magic_name, magic_arg_s)
2164
2165 #-------------------------------------------------------------------------
/home/hust/.local/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc in run_line_magic(self, magic_name, line)
2082 kwargs['local_ns'] = sys._getframe(stack_depth).f_locals
2083 with self.builtin_trap:
-> 2084 result = fn(*args,**kwargs)
2085 return result
2086
<decorator-gen-106> in matplotlib(self, line)
/home/hust/.local/lib/python2.7/site-packages/IPython/core/magic.pyc in <lambda>(f, *a, **k)
191 # but it's overkill for just that one bit of state.
192 def magic_deco(arg):
--> 193 call = lambda f, *a, **k: f(*a, **k)
194
195 if callable(arg):
/home/hust/.local/lib/python2.7/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
/home/hust/.local/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc in enable_matplotlib(self, gui)
2937 """
2938 from IPython.core import pylabtools as pt
-> 2939 gui, backend = pt.find_gui_and_backend(gui, self.pylab_gui_select)
2940
2941 if gui != 'inline':
/home/hust/.local/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in find_gui_and_backend(gui, gui_select)
258 """
259
--> 260 import matplotlib
261
262 if gui and gui != 'auto':
ImportError: No module named matplotlib
原来是错的。
我确实在 conda 环境中安装了 matplotlib
、scipy
和 numpy
。它似乎在 ipython 中运行良好,但在 jupyter notebook 中却不行。是什么原因?如果您能帮助我,我将不胜感激。
我找到问题了。
在终端中:
ipython
In [1]: import sys
In [2]: sys.path
Out[2]:
['',
'/home/hust/anaconda2/bin',
'/home/hust/anaconda2/lib/python27.zip',
'/home/hust/anaconda2/lib/python2.7',
'/home/hust/anaconda2/lib/python2.7/plat-linux2',
'/home/hust/anaconda2/lib/python2.7/lib-tk',
'/home/hust/anaconda2/lib/python2.7/lib-old',
'/home/hust/anaconda2/lib/python2.7/lib-dynload',
'/home/hust/.local/lib/python2.7/site-packages',
'/home/hust/anaconda2/lib/python2.7/site-packages',
'/home/hust/anaconda2/lib/python2.7/site-packages/Sphinx-1.3.5-py2.7.egg',
'/home/hust/anaconda2/lib/python2.7/site-packages/setuptools-20.3-py2.7.egg',
'/home/hust/.local/lib/python2.7/site-packages/IPython/extensions',
'/home/hust/.ipython']
但在 jupyter notebook 中,sys.path 是:
['',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python27.zip',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python2.7',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python2.7/plat-linux2',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python2.7/lib-tk',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python2.7/lib-old',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python2.7/lib-dynload',
'/home/hust/.local/lib/python2.7/site-packages',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python2.7/site-packages/setuptools-20.7.0-py2.7.egg',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python2.7/site-packages',
'/home/hust/.local/lib/python2.7/site-packages/IPython/extensions',
'/home/hust/.ipython']
然后我记得我用下面的代码创建了一个python2内核。
conda create -n ipykernel_py2 python=2 ipykernel
source activate ipykernel_py2
python -m ipykernel install --user
在 website 的描述中,如果你是 运行 Jupyter on Python 3,你可以像这样设置一个 Python 2 内核。但实际上我是 运行 Jupyter on Python 2,我无法在 jupyter notebook 中新建一个 python2 脚本的原因应该是其他原因。
终于意识到还是通过pyenv掌握所有蟒蛇的环境比较好。我应该首先安装 pyenv,然后我只需要使用这些命令,pyenv install anaconda-2.4.0
、pyenv global anaconda-2.4.0
和 jupyter notebook
。
我的系统是 Ubuntu 15.04 64 位。 我的 python 版本:
**:~$ python
Python 2.7.11 |Anaconda custom (64-bit)| (default, Dec 6 2015, 18:08:32)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
我的ipython版本:
**:~$ ipython
Python 2.7.11 |Anaconda custom (64-bit)| (default, Dec 6 2015, 18:08:32)
Type "copyright", "credits" or "license" for more information.
IPython 4.2.0 -- An enhanced Interactive Python.
我用过conda install matplotlib
、conda install numpy
和conda install scipy
。
版本和位置
# packages in environment at /home/hust/anaconda2:
numpy 1.10.4 py27_1
matplotlib 1.5.1 np110py27_0
scipy 0.17.0 np110py27_3
在ipython、
In[1] %matplotlib
Using matplotlib backend: Qt4Agg
In[2] from pylab import*
没关系。
为了在 jupyter notebook 中新建一个 python2
,我使用了在 Kernels for Python 2
conda create -n ipykernel_py2 python=2 ipykernel
source activate ipykernel_py2
python -m ipykernel install --user
现在在终端输入jupyter notebook
,新建一个python2
。我尝试使用 %matplotlib
In[1]: %matplotlib
ImportError Traceback (most recent call last)
<ipython-input-2-f64cd8484500> in <module>()
----> 1 get_ipython().magic(u'matplotlib')
/home/hust/.local/lib/python2.7/site-packages/IPython /core/interactiveshell.pyc in magic(self, arg_s)
2161 magic_name, _, magic_arg_s = arg_s.partition(' ')
2162 magic_name = magic_name.lstrip(prefilter.ESC_MAGIC)
-> 2163 return self.run_line_magic(magic_name, magic_arg_s)
2164
2165 #-------------------------------------------------------------------------
/home/hust/.local/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc in run_line_magic(self, magic_name, line)
2082 kwargs['local_ns'] = sys._getframe(stack_depth).f_locals
2083 with self.builtin_trap:
-> 2084 result = fn(*args,**kwargs)
2085 return result
2086
<decorator-gen-106> in matplotlib(self, line)
/home/hust/.local/lib/python2.7/site-packages/IPython/core/magic.pyc in <lambda>(f, *a, **k)
191 # but it's overkill for just that one bit of state.
192 def magic_deco(arg):
--> 193 call = lambda f, *a, **k: f(*a, **k)
194
195 if callable(arg):
/home/hust/.local/lib/python2.7/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
/home/hust/.local/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc in enable_matplotlib(self, gui)
2937 """
2938 from IPython.core import pylabtools as pt
-> 2939 gui, backend = pt.find_gui_and_backend(gui, self.pylab_gui_select)
2940
2941 if gui != 'inline':
/home/hust/.local/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in find_gui_and_backend(gui, gui_select)
258 """
259
--> 260 import matplotlib
261
262 if gui and gui != 'auto':
ImportError: No module named matplotlib
原来是错的。
我确实在 conda 环境中安装了 matplotlib
、scipy
和 numpy
。它似乎在 ipython 中运行良好,但在 jupyter notebook 中却不行。是什么原因?如果您能帮助我,我将不胜感激。
我找到问题了。
在终端中:
ipython
In [1]: import sys
In [2]: sys.path
Out[2]:
['',
'/home/hust/anaconda2/bin',
'/home/hust/anaconda2/lib/python27.zip',
'/home/hust/anaconda2/lib/python2.7',
'/home/hust/anaconda2/lib/python2.7/plat-linux2',
'/home/hust/anaconda2/lib/python2.7/lib-tk',
'/home/hust/anaconda2/lib/python2.7/lib-old',
'/home/hust/anaconda2/lib/python2.7/lib-dynload',
'/home/hust/.local/lib/python2.7/site-packages',
'/home/hust/anaconda2/lib/python2.7/site-packages',
'/home/hust/anaconda2/lib/python2.7/site-packages/Sphinx-1.3.5-py2.7.egg',
'/home/hust/anaconda2/lib/python2.7/site-packages/setuptools-20.3-py2.7.egg',
'/home/hust/.local/lib/python2.7/site-packages/IPython/extensions',
'/home/hust/.ipython']
但在 jupyter notebook 中,sys.path 是:
['',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python27.zip',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python2.7',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python2.7/plat-linux2',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python2.7/lib-tk',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python2.7/lib-old',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python2.7/lib-dynload',
'/home/hust/.local/lib/python2.7/site-packages',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python2.7/site-packages/setuptools-20.7.0-py2.7.egg',
'/home/hust/anaconda2/envs/ipykernel_py2/lib/python2.7/site-packages',
'/home/hust/.local/lib/python2.7/site-packages/IPython/extensions',
'/home/hust/.ipython']
然后我记得我用下面的代码创建了一个python2内核。
conda create -n ipykernel_py2 python=2 ipykernel
source activate ipykernel_py2
python -m ipykernel install --user
在 website 的描述中,如果你是 运行 Jupyter on Python 3,你可以像这样设置一个 Python 2 内核。但实际上我是 运行 Jupyter on Python 2,我无法在 jupyter notebook 中新建一个 python2 脚本的原因应该是其他原因。
终于意识到还是通过pyenv掌握所有蟒蛇的环境比较好。我应该首先安装 pyenv,然后我只需要使用这些命令,pyenv install anaconda-2.4.0
、pyenv global anaconda-2.4.0
和 jupyter notebook
。