ipython --pylab vs ipython

Jos*_*osh 11 python matplotlib ipython

究竟做ipython --pylab了什么?

ipython --pylab 正好相当于:

 > ipython
 > from pylab import *
Run Code Online (Sandbox Code Playgroud)

如果没有,有什么区别?

说我的IPython推出没有--pylab参数,我怎样才能把它给相同的状态,就好像我已经开始它 --pylab

Mat*_*att 21

--pylab[=option]几乎在技术上等同于%pylab option你不能解密--pylab内核,但你可以重新启动%pylab内核.

%pylab只是更多from pylab import *(请参阅%pylab?更长的解释),但简而言之是它导入很多东西,但它也挂钩事件循环(qt,wx,osx ...)并为matplotlib设置一些显示挂钩(神奇地允许你获得内联图的东西).sympy.init_printing()如果你想知道的话,设置显示挂钩就更接近了.

请注意,从IPython 1.0开始,我们建议不要使用--pylab%pylab(除非您完全了解其含义).我们提供%matplotlib只有init的显示钩子.%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 *
Run Code Online (Sandbox Code Playgroud)