标签: jupyter-notebook

如何使IPython笔记本matplotlib内联

我试图在MacOS X上使用Python 2.7.2和IPython 1.1.0上的IPython笔记本.

我无法让matplotlib图形显示为内联.

import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline  
Run Code Online (Sandbox Code Playgroud)

我也试过%pylab inline和ipython命令行参数,--pylab=inline但这没有区别.

x = np.linspace(0, 3*np.pi, 500)
plt.plot(x, np.sin(x**2))
plt.title('A simple chirp')
plt.show()
Run Code Online (Sandbox Code Playgroud)

而不是内联图形,我得到这个:

<matplotlib.figure.Figure at 0x110b9c450>
Run Code Online (Sandbox Code Playgroud)

matplotlib.get_backend()表明我有'module://IPython.kernel.zmq.pylab.backend_inline'后端.

python data-visualization matplotlib ipython jupyter-notebook

779
推荐指数
9
解决办法
102万
查看次数

在版本控制下使用IPython笔记本

IPython笔记本电脑置于版本控制之下的好策略是什么?

笔记本格式非常适合版本控制:如果想要版本控制笔记本和输出,那么这非常有效.当人们只想对输入进行版本控制时,就会产生烦恼,不包括可能是大型二进制blob的单元格输出(也就是"构建产品"),特别是对于电影和情节.特别是,我试图找到一个良好的工作流程:

  • 允许我选择包括或排除输出,
  • 如果我不想要它会阻止我意外地提交输出,
  • 允许我保持我的本地版本的输出,
  • 允许我看看当我使用我的版本控制系统更改输入时(即如果我只对版本控制输入但我的本地文件有输出,那么我希望能够看到输入是否已更改(需要提交) ).使用版本控制状态命令将始终注册差异,因为本地文件有输出.)
  • 允许我从更新的干净笔记本更新我的工作笔记本(包含输出).(更新)

如上所述,如果我选择包含输出(例如,在使用nbviewer时这是可取的),那么一切都很好.问题是,当我想要的版本控制输出.有一些工具和脚本可以剥离笔记本的输出,但我经常会遇到以下问题:

  1. 我不小心提交了一个带有输出的版本,从而污染了我的存储库.
  2. 我清除输出以使用版本控制,但实际上宁愿将输出保留在我的本地副本中(例如,有时需要一段时间来重现).
  3. Cell/All Output/Clear菜单选项相比,剥离输出的一些脚本会稍微改变格式,从而在差异中产生不必要的噪声.这可以通过一些答案来解决.
  4. 当将更改提取到文件的干净版本时,我需要找到一些方法将这些更改合并到我的工作笔记本中而无需重新运行所有内容. (更新)

我已经考虑过几个选项,我将在下面讨论,但还没有找到一个很好的综合解决方案.完整的解决方案可能需要对IPython进行一些更改,或者可能依赖于一些简单的外部脚本.我目前使用mercurial,但想要一个也适用于git的解决方案:理想的解决方案是版本控制不可知.

这个问题已经多次讨论过,但从用户的角度来看,没有明确或明确的解决方案.这个问题的答案应该提供明确的策略.如果它需要最近的(甚至开发)版本的IPython或一个易于安装的扩展,这很好.

更新:我一直在玩我修改过的笔记本版本,可以选择.clean使用Gregory Crosswhite的建议保存每次保存的版本.这满足了我的大多数约束,但是仍然没有解决以下问题:

  1. 这还不是一个标准的解决方案(需要修改ipython源.有没有办法通过简单的扩展来实现这种行为?需要某种on-save钩子.
  2. 我对当前工作流程的一个问题是拉动变化.这些将进入.clean文件,然后需要以某种方式集成到我的工作版本中.(当然,我总是可以重新执行笔记本,但这可能会很痛苦,特别是如果某些结果取决于长时间的计算,并行计算等).我还不知道如何解决这个问题.也许涉及像ipycache这样的扩展的工作流可能会起作用,但这似乎有点过于复杂.

笔记

删除(剥离)输出

  • 笔记本电脑运行时,可以使用Cell/All Output/Clear菜单选项删除输出.
  • 有一些用于删除输出的脚本,例如删除输出的脚本nbstripout.py,但不会产生与使用笔记本界面相同的输出.这最终包含在ipython/nbconvert repo中,但是已经关闭,说明这些更改现在包含在ipython/ipython中,但相应的功能似乎还没有包含在内. (更新)话虽如此,Gregory Crosswhite的解决方案显示这很容易做到,即使没有调用ipython/nbconvert因此,如果可以正确地连接它,这种方法可能是可行的.(然而,将它附加到每个版本控制系统似乎不是一个好主意 - 这应该以某种方式挂钩到笔记本机制.)

新闻组

问题

version-control ipython jupyter-notebook

548
推荐指数
14
解决办法
6万
查看次数

Conda环境没有出现在Jupyter Notebook中

我安装了Anaconda(使用Python 2.7),并在一个名为的环境中安装了Tensorflow tensorflow.我可以在该环境中成功导入Tensorflow.

问题是Jupyter Notebook无法识别我刚刚创建的新环境.无论我从GUI导航或命令行启动Jupyter笔记本电脑tensorflowENV中,只有一个名为菜单内核Python [Root],并Tensorflow无法导入.当然,我多次点击该选项,保存文件,重新打开,但这些没有帮助.

奇怪的是,当我打开CondaJupyter首页上的标签时,我可以看到这两个环境.但是当我打开Files标签,并尝试new使用笔记本时,我仍然只有一个内核.

我看了这个问题: 用Jupyter Notebook链接Conda环境 但是~/Library/Jupyter/kernels我的电脑上没有这样的目录!这个Jupyter目录只有一个名为的子目录runtime.

我真的很困惑.Conda环境是否应该自动成为内核?(我跟着https://ipython.readthedocs.io/en/stable/install/kernel_install.html手动设置了内核,但被告知ipykernel没有找到.)

anaconda conda jupyter jupyter-notebook

305
推荐指数
15
解决办法
19万
查看次数

如何在浏览器中增加Jupyter/ipython笔记本的单元格宽度?

我想在浏览器中增加ipython笔记本的宽度.我有一个高分辨率的屏幕,我想扩大单元格的宽度/大小,以利用这个额外的空间.

谢谢!


编辑:5/2017

我现在使用jupyterthemes:https://github.com/dunovank/jupyter-themes

这个命令:

jt -t oceans16 -f roboto -fs 12 -cellw 100%
Run Code Online (Sandbox Code Playgroud)

使用漂亮的主题将宽度设置为100%.

python ipython ipython-notebook jupyter jupyter-notebook

296
推荐指数
10
解决办法
13万
查看次数

如何将python3内核添加到jupyter(IPython)

我的Jupyter笔记本安装了python 2内核.我不懂为什么.我做安装时可能搞砸了.我已经python 3 安装好了.我怎样才能添加它Jupyter?这是一个什么样的默认截图Jupyter与insalled python3 -m install jupyter并在浏览器中打开jupyter notebook的样子: 在此输入图像描述

ipython ipython-notebook jupyter jupyter-notebook

291
推荐指数
14
解决办法
31万
查看次数

272
推荐指数
10
解决办法
28万
查看次数

如何从jupyter笔记本中嵌入图像或图片,无论是从本地计算机还是从Web资源?

我想在jupyter笔记本中包含图像.

如果我做了以下,它的工作原理:

from IPython.display import Image
Image("img/picture.png")
Run Code Online (Sandbox Code Playgroud)

但我想将图像包含在markdown单元格中,以下代码给出了404错误:

![title]("img/picture.png")
Run Code Online (Sandbox Code Playgroud)

我也试过了

![texte]("http://localhost:8888/img/picture.png")
Run Code Online (Sandbox Code Playgroud)

但我仍然得到同样的错误:

404 GET /notebooks/%22/home/user/folder/img/picture.png%22 (127.0.0.1) 2.74ms referer=http://localhost:8888/notebooks/notebook.ipynb
Run Code Online (Sandbox Code Playgroud)

python image jupyter jupyter-notebook

262
推荐指数
12
解决办法
34万
查看次数

如何更改Jupyter启动文件夹

我尝试按照Jupyter Notebook文档中的说明进行操作.

不幸的是,我无法弄明白.这个"开始"字段究竟在哪里?

我有一个Windows 7(64位)系统,安装了Anaconda3(不在C盘中).我想改变Jupyter开始文件夹的位置.

path anaconda jupyter jupyter-notebook

236
推荐指数
15
解决办法
37万
查看次数

如何加载/编辑/运行/保存文本文件(.py)到IPython笔记本单元格?

我最近转而使用IPython笔记本作为我工作流程的一部分.但是,我没有成功地找到一种方法将.py文件导入到打开的IPython笔记本的各个单元格中,以便它们可以编辑,运行然后保存.可以这样做吗?

我在文档中找到了这个,它告诉我如何将.py文件作为新笔记本导入,但这不符合我想要实现的目标.

任何建议将不胜感激.

python ipython jupyter jupyter-notebook

219
推荐指数
4
解决办法
28万
查看次数

在iPython Notebook中将DataFrame显示为表

我正在使用iPython笔记本.当我这样做:

df
Run Code Online (Sandbox Code Playgroud)

我得到一张带细胞的美丽桌子.但是,如果我这样做:

df1
df2 
Run Code Online (Sandbox Code Playgroud)

它不会打印出第一张漂亮的桌子.如果我试试这个:

print df1
print df2
Run Code Online (Sandbox Code Playgroud)

它以不同的格式打印出表格,使列溢出并使输出非常高.

有没有办法强制它打印出两个数据集的漂亮表格?

printing pandas ipython-notebook display jupyter-notebook

208
推荐指数
7
解决办法
21万
查看次数