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
设置后端并使其具有交互性,但是没有进口所有的派拉布材料。