ipython --pylab
究竟干什么?ipython --pylab vs ipython
是ipython --pylab
正是等同于:
> ipython
> from pylab import *
如果不是,有什么区别?
说我的IPython推出无的参数--pylab
,我怎样才能把它相同的状态,就像我曾与--pylab
开始呢?
ipython --pylab
究竟干什么?ipython --pylab vs ipython
是ipython --pylab
正是等同于:
> ipython
> from pylab import *
如果不是,有什么区别?
说我的IPython推出无的参数--pylab
,我怎样才能把它相同的状态,就像我曾与--pylab
开始呢?
--pylab[=option]
几乎是在技术上等同于%pylab option
,因为您不能解开内核的--pylab
内核,但可以重新启动%pylab
内核。
%pylab
是多一点,只是from pylab import *
(见%pylab?
对于更详细的解释),但总之是的,它进口了很多东西,但也挂钩事件循环(QT,WX,OSX ...),并设置一些matplotlib的显示钩子(魔法允许你获得内联图的东西)。如果你想知道如何设置显示钩子更接近sympy.init_printing()
。
请注意,从IPython 1.0开始,我们建议不要使用--pylab
或%pylab
(除非您确切地知道含义)。我们提供%matplotlib
只有初始化显示挂钩。 %pylab
将警告您是否替换当前名称空间中的某个对象,以及哪些对象。这对于sum
等功能非常有用,它们在具有和不具有pylab的情况下具有相同的行为并导致微妙的错误。
我们现在认为--pylab
是一个错误,但它在IPython的开始仍然非常有用。我们都知道,Explicit is better than implicit
所以如果你可以建议人们不要使用%pylab
我们将不胜感激,有一天摆脱它。从%pylab帮助
提取物,只给pylab进口部分:
%pylab makes the following imports::
import numpy
import matplotlib
from matplotlib import pylab, mlab, pyplot
np = numpy
plt = pyplot
from IPython.display import display
from IPython.core.pylabtools import figsize, getfigs
from pylab import *
from numpy import *
我觉得命令行上的--pylab
选项等于使用%pylab
魔法。至少我是这样使用它的。这也让你有机会选择绘图后端,即%pylab inline
,%pylab qt
等
除了进口一个明显的区别是交互式绘图,您可以动态启用:
import matplotlib
matplotlib.rcParams['interactive'] = True
或'ipython --matplotlib'设置后端并使其交互,但不导入所有pylab的东西。 – askewchan
我认为对于'--pylab'标志的激励是使'ipython'一个MATLAB克隆,这样MATLAB用户切换到python/numpy/scipy/matplotlib不需要处理'import'语句。 – SethMMorton