ipython——pylab vs ipython
ipython——pylab vs ipython,python,matplotlib,ipython,Python,Matplotlib,Ipython,ipython--pylab到底是做什么的 ipython--pylab是否完全等同于: > ipython > from pylab import * 如果没有,区别是什么 假设我在没有--pylab参数的情况下启动IPython,我如何才能使其处于与使用--pylab启动IPython相同的状态 我认为命令行上的--pylab选项相当于使用%pylab魔术。至少我是这么用的。这也让您有机会选择打印后端,即%pylab inline,%pylab qt,等等。除了导入之外,还
ipython--pylab
到底是做什么的
ipython--pylab是否完全等同于:
> ipython
> from pylab import *
如果没有,区别是什么
假设我在没有
--pylab
参数的情况下启动IPython,我如何才能使其处于与使用--pylab
启动IPython相同的状态 我认为命令行上的--pylab
选项相当于使用%pylab
魔术。至少我是这么用的。这也让您有机会选择打印后端,即%pylab inline
,%pylab qt
,等等。除了导入之外,还有一个明显的区别是交互式打印,您可以通过以下方式动态启用:
import matplotlib
matplotlib.rcParams['interactive'] = True
--pylab[=option]
在技术上几乎等同于%pylab option
,区别在于您无法将pylab从--pylab
内核中解压,但您可以重新启动%pylab
内核
%pylab
比pylab import*中的稍微多一点(请参阅%pylab?
),但简而言之,是的,它导入了很多东西,但它也钩住了事件循环(qt、wx、osx…),并为matplotlib设置了一些显示钩子(神奇地允许您获取内联图的东西)。如果您想知道,设置显示挂钩更接近类似于sympy.init\u printing()
请注意,从IPython 1.0开始,我们建议不要使用--pylab
或%pylab
(除非您确切知道其含义)。我们提供了仅初始化显示挂钩的%matplotlib
<代码>%pylab
将警告您它是否替换了当前命名空间中的几个对象,以及替换了哪些对象。这对于像sum
这样的函数特别有用,因为它们的行为与使用pylab和不使用pylab时的行为不同,并且会导致细微的错误
我们现在认为<代码> -Pylab < /C>是一个错误,但在IPython开始时它仍然很有用。我们都知道显式比隐式好,所以如果你能建议人们不要使用
%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
标志的动机是使ipython
成为MATLAB克隆,这样切换到python/numpy/scipy/matplotlib的MATLAB用户就不必处理import
语句。或者ipython--matplotlib
设置后端并使其具有交互性,但是没有进口所有的派拉布材料。