IPython有无笔记本差异

2024-04-25 08:14:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我最喜欢的Python最重要的即兴创作之一是IPython和IPython笔记本。你知道吗

我在看和重复这篇video中的内容,发现了一些问题。你知道吗

如视频中所述,我使用ipython --pylab启动IPython。 我用ipython notebook --pylab启动IPython笔记本。你知道吗

问题:scatter()在IPython笔记本中不起作用(我得到了一个NameError),但在IPython中效果很好。 函数rand()也是如此。我猜pylabmatplotlibscipynumpyrandom和其他基本库一起加载。你知道吗

如果我错了,请告诉我。在我的笔记本上,如果这两样东西都很强的话。你知道吗

另外,任何我可以知道在使用--pylab时加载了哪些内容的资源都会有所帮助。你知道吗

谢谢。你知道吗


Tags: 函数内容视频matplotlibvideoipython笔记本scipy
2条回答

这就是pylab标志的作用:

import numpy
import matplotlib
from matplotlib import pylab, mlab, pyplot
np = numpy
plt = pyplot

from IPython.core.pylabtools import figsize, getfigs

from pylab import *
from numpy import *

也就是说,建议您启动不带标志的笔记本(仅ipython notebook),然后运行:

%matplotlib inline

有关详细信息,请参见No Pylab Thanks。你知道吗

关于分散问题,您应该尝试以下方法:

%matplotlib inline
import matplotlib.pyplot as plt

plt.scatter([1,2], [1,2])

下面是另一个不应该使用%pylab inline的例子:

%pylab inline之前:bool(all(i for i in range(3))) => False

%pylab inline之后:bool(all(i for i in range(3))) => True

%pylab inline语句导入具有不同行为的numpy.all。参见help(all)前后%pylab inline查看。另外,请尝试print(', '.join(sorted(globals().keys())))before&after查看大量导入的内容。你知道吗

正如其他人所提到的,%matplotlib inline避免了这一点以及由此引起的后续微妙/难以发现的问题。你知道吗

相关问题 更多 >