我在本地计算机上运行 iPython notebook。但是,因为我在中国,所以需要使用VPN(特别是Astrill的OpenWeb协议)才能访问大部分互联网。在我的其中一台 PC 上,当 VPN 运行时,iPython 笔记本无法正常运行。例如,打开我的主页时:http://localhost:8888/tree,我看到错误消息:
Astrill Error
Connection Closed Gracefully
Run Code Online (Sandbox Code Playgroud)
如果 VPN 正在运行,iPython notebook 也不会让我打开或保存工作簿。知道为什么以及如何解决这个问题吗?
我最近从使用纸笔系统为我的微积分 II 课程做笔记切换到使用 Jupyter(以前称为 iPython)笔记本。有什么不同!
无论如何,作为一个通过视觉演示学习得最好的人,我真的很想在我的笔记本中嵌入一些交互式Desmos图(对于不熟悉 Desmos 的人来说,它是一个非常强大但易于使用的基于网络的图形计算器)。
不幸的是,iPython/Jupyter notebook安全 模型阻止了嵌入在 Markdown 单元格中的 JavaScript 的执行。HTML Sanitization 库(我相信是Google Caja)去除您放入 Markdown 单元格中的任何 HTML 标签和 JavaScript 代码。
根据安全模型文档中的注释,计划支持某种允许 HTML/CSS 用于笔记本主题的机制。但该说明并未提及 JavaScript 支持。
我意识到跨站脚本是一个严重且难以防御的问题,但真的没有办法放松笔记本作者的安全限制吗?也许将来可以向笔记本元数据(可以在笔记本会话中编辑)添加配置选项以指定允许的标签列表。
同时,有没有人知道使用 JavaScript 在笔记本的 Markdown 单元格中嵌入来自第三方 API 的输出的变通方法、黑客或其他方法?
如果要在 Python 单元格中使用 Python 打印适当的 HTML 和 JavaScript 代码,是否可以避免这些限制?也许我应该为 Desmos API 编写一个 Python 包装器......
我在 jupyter 中使用 Markdown,所以我以通常的方式创建项目符号列表:
- 项目 1
- 项目 2
显示为:
现在说我希望列表的字体更大,例如像标题 2 ( ##)提供的字体,有没有办法做到这一点?我试过的
# - 项目 1
# - 项目 2
失败并仅显示为标题文本而不是更大的列表:
当我运行一个海龟图形单元并绘制一些东西时,它没问题,但是如果我关闭窗口并再次运行该单元,我会收到一个名为 Terminator 的奇怪错误,我必须重新启动内核才能再次运行该单元. 如果我尝试连续运行 2 个不同的海龟图形单元(这 2 个单元绘制不同的内容并且编码良好),也会发生这种情况。如果我运行其中一个,然后我重新启动内核,然后运行另一个,不会发生错误,但是必须一直重新启动内核并不好,让我感到不安。这只会发生在我的新 macbook 上,我的 PC Windows 一切都很好,我可以连续重复运行海龟图形单元,唯一需要做的就是关闭当前的海龟窗口来运行另一个。
import turtle
window = turtle.Screen()
t = turtle.Turtle()
t.forward(50)
turtle.mainloop()
Run Code Online (Sandbox Code Playgroud)
如果我运行此代码一次就可以了。但是如果我关闭乌龟窗口并再次运行它而不重新启动内核,我会收到此错误:
--------------------------------------------------------------------------
Terminator Traceback (most recent call last)
<ipython-input-2-48bfc10d8dfd> in <module>()
2
3 window = turtle.Screen()
----> 4 t = turtle.Turtle()
5
6 t.forward(50)
/Users/marti/anaconda/lib/python3.5/turtle.py in __init__(self, shape, undobuffersize, visible)
3814 shape=shape,
3815 undobuffersize=undobuffersize,
-> 3816 visible=visible)
3817
3818 Pen = Turtle
/Users/marti/anaconda/lib/python3.5/turtle.py in __init__(self, canvas, shape, undobuffersize, visible)
2555 self._undobuffersize = undobuffersize
2556 self.undobuffer = Tbuffer(undobuffersize) …Run Code Online (Sandbox Code Playgroud) turtle-graphics python-3.x ipython-notebook anaconda osx-elcapitan
我想向oanda发送订单进行交易,我使用ipython notebook编译我的代码,这是我的代码:
import oandapy
trade_expire=datetime.now()+timedelta(days=1)
trade_expire=trade_expire.isoformat("T")+"Z"
oanda=oandapy.API(environment='practice',access_token='XXXX....')
account_id=xxxxxxx
response=oanda.create_order(account_id,instrument='USD_EUR',units=1000,side='buy',/
type='limit',price=1.105,expire=trade_expire)
Run Code Online (Sandbox Code Playgroud)
但错误是?
OandaError: OANDA API returned error code 4 (The access token provided does
not allow this request to be made)
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
有许多可用的Jupyter 内核。我也知道一些项目用于运行嵌入在另一种语言中的一种语言,例如rpy2。但是,我很想知道是否有可能(或是否有计划)将不同的内核组合到一个笔记本中?
所以说我在 python 代码中有一个单元格,在 Scala 代码中有另一个单元格,就像我目前可以有一个代码单元格(按下y一个单元格)以及一个降价单元格一样m。
理想情况下,一个人应该能够来回传递变量,但是对于这个问题,我只是希望能够拥有两种不同的“代码单元”类型,而它们彼此不知道(所以我可以有例如python变量赋值x = 1和scala val x : Int = 2,他们不会知道彼此)。
的%%time和%%timeit魔法使得能够在Jupyter或IPython的笔记本单个小区的定时。
是否有类似的功能可以为 Jupyter 笔记本中的每个单元打开和关闭计时?
这个问题是相关的,但对于在每个单元格中自动启用给定魔法的更普遍的问题没有答案。
嗨,退出在 Jupyter Notebook 单元中运行的 ipdb 交互式控制台的正确方法是什么?我试过退出、退出、Ctrl-Z、Ctrl-C、Ctrl-D(在 chrome 中抛出书签请求)
更新:尝试 sys.exit(),它杀死了笔记本的内核。我们如何在不影响笔记本的情况下退出交互式 shell?
在 Jupyter notebook 中,我想在编辑Markdown 单元格时使用常规的 Ubuntu 字体,而在编辑代码单元格时使用UbuntuMono。我可以通过如下编辑同时更改这两种单元格类型的字体.jupyter/custom/custom.css:
.CodeMirror pre {
font-family: "Ubuntu Mono", monospace;
font-size: 14pt;
}
Run Code Online (Sandbox Code Playgroud)
我还可以更改 Markdown 代码单元格中标题的格式:
.cm-header {
font-size: 110%;
font-family: "Ubuntu";
}
Run Code Online (Sandbox Code Playgroud)
以及呈现时文本的外观(在执行降价单元后):
div.text_cell_render {
font-family: "Ubuntu";
font-size: 12pt;
}
Run Code Online (Sandbox Code Playgroud)
但是,我不明白我可以使用哪些 css 类来区分编辑模式下 Markdown 单元格中的代码单元格和段落/正文文本。我在 Firefox 中尝试了对象检查器,但两种单元格类型的输入文本显示为相同的跨度标签和 css 类。我已经尝试了这里列出的许多组合,但似乎我找不到合适的组合,有什么想法吗?
是否可以仅在 Jupyter 笔记本单元中执行突出显示的代码?这在 Spyder 和 RStudio 中是可能的。
我发现这对于在编写代码时排除故障非常有用。
如果一个单元格包含:
a=13
b=17
c=42
a=a*c
Run Code Online (Sandbox Code Playgroud)
我希望能够突出显示并仅运行所需的行(例如变量分配内存),而不是最后一行。
我经常在 Spyder 和 RStudio 中使用它,也很想在 Jupyter 中使用它。我发现我一直在拆分和重新组合单元格,以便对单行代码进行故障排除,例如,我错误地索引了某些内容。突出显示并打印变量让我可以看到我实际分配给它的内容并抛出错误,而不是我的意图。