在IPython Notebook中自动运行%matplotlib

每次启动IPython Notebook时,我运行的第一个命令是

%matplotlib inline 

有什么方法来改变我的configuration文件,所以当我启动IPython时,它会自动在这种模式?

configuration方式

IPython具有configuration文件,位于~/.ipython/profile_* 。 默认configuration文件称为profile_default 。 在这个文件夹中有两个主要的configuration文件:

  • ipython_config.py
  • ipython_kernel_config

将matplotlib的内联选项添加到ipython_kernel_config.py

 c = get_config() # ... Any other configurables you want to set c.InteractiveShellApp.matplotlib = "inline" 

matplotlib与pylab

不鼓励使用%pylab进行内联绘图。

它将各种各样的垃圾引入你的名字空间,你只是不需要。

另一方面, %matplotlib在不插入名称空间的情况下进行内联绘图。 你需要做明确的调用来获取matplotlib和numpy导入。

 import matplotlib.pyplot as plt import numpy as np 

显然input你的import的小价格应该完全克服,因为你现在有可重复的代码。

我想你想要的可能是从命令行运行以下命令:

 ipython notebook --matplotlib=inline 

如果你不喜欢每次都在cmd行input,那么你可以创build一个别名为你做。

在您的ipython_config.py文件中,search以下行

 # c.InteractiveShellApp.matplotlib = None 

 # c.InteractiveShellApp.pylab = None 

并取消注释。 然后,将None更改为您正在使用的后端(我使用'qt4' )并保存该文件。 重新启动IPython,并且应该加载matplotlib和pylab – 您可以使用dir()命令来validation哪些模块位于全局名称空间中。

在(当前)IPython 3.2.0(Python 2或3)

打开隐藏文件夹.ipython中的configuration文件

 ~/.ipython/profile_default/ipython_kernel_config.py 

添加以下行

 c.IPKernelApp.matplotlib = 'inline' 

直接添加它

 c = get_config() 

除了@Kyle Kelley和@DGrady之外,这里还有可以find的入口

$HOME/.ipython/profile_default/ipython_kernel_config.py (或者你创build的configuration文件)

更改

 # Configure matplotlib for interactive use with the default matplotlib backend. # c.IPKernelApp.matplotlib = none 

 # Configure matplotlib for interactive use with the default matplotlib backend. c.IPKernelApp.matplotlib = 'inline' 

这将在ipython qtconsole和笔记本电脑会话中工作。