我们如何在 iPython notebook 中使用 plantuml UML 工具?它应该对我们有帮助,因为在文书工作中经常使用 UML 图。
在从互联网上搜索了一些谷歌之后,我找到了一个在 iPython notebook 中使用渐近线的优秀参考,然后我为 iPython notebook 创建了一个 Plantuml 扩展。下面是详细步骤:
从我的工作目录启动 iPython notebook。例如:$HOME/workshop。
# cd $HOME/workshop
# ipython notebook --pylab inline
Run Code Online (Sandbox Code Playgroud)在 $HOME/workshop.eg:plantuml.py 创建扩展脚本
"""
An Plantuml extension for generating UML figures from within ipython notebook.
"""
import os
from IPython.core.magic import magics_class, cell_magic, Magics
from IPython.display import Image, SVG
@magics_class
class Plantuml(Magics):
@cell_magic
def plantuml(self, line, cell):
"""Generate and display a figure using Plantuml.
Usage:
%java -jar plantuml.jar -tsvg …Run Code Online (Sandbox Code Playgroud)所以,我一直在玩IPython笔记本几天,我喜欢它!但是,现在我需要做一些有点花哨的事情:
我有一个降价单元; 在其中,有一个HTML输入和按钮,以及一些附加到按钮的JavaScript,它将获取输入的内容,并将其注入到python内核中.这是细胞:
<h3>Use JS to pass DOM info to Python kernel: </h3>
<input id='testinput' value='FragmentId'></input>
<button id='testComms' onclick='JS2PY()'>:D</button>
<script type="text/javascript">
function JS2PY(){
var input = document.getElementById('testinput').value,
kernel = IPython.notebook.kernel;
kernel.execute('testVar = "' + input + '"');
}
</script>
Run Code Online (Sandbox Code Playgroud)
奇迹般有效!接下来我有一个python代码单元; 它做了一些ROOT的东西,并根据从上面的单元格注入到python内核中的任何值来创建一个图.这是python单元格:
def testfunc():
from ROOT import TH1, TFile, TTree
import rootnotes, numpy
c2 = rootnotes.canvas("treeData", (600,400))
testfile = TFile("fragment27422_000.root")
testtree = testfile.Get("FragmentTree")
buff = numpy.zeros(1, dtype=float)
testtree.Branch(testVar, buff)
testtree.Draw(testVar)
return c2
testfunc()
Run Code Online (Sandbox Code Playgroud)
如果我手动去运行单元格也没问题 - 太棒了!但是我真正想要的是,在推广testVar变量后,当我点击上面的降价单元格中的那个按钮时,这个python单元会自动运行.抱歉并提前感谢 - 这对我来说只是python的第二天,所以它可能非常简单.
有两天我一直在努力安装pyzmq,我真的不确定是什么问题.
我之后收到的错误消息:
pip install pyzmq
Run Code Online (Sandbox Code Playgroud)
是:
error: command 'gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
我安装了gcc.
which gcc
/usr/bin/gcc
Run Code Online (Sandbox Code Playgroud)
Python安装在同一位置.我真的很难找到解决方案.
编辑:添加到错误的输出,这是进一步描述错误的输出:
bundled/zeromq/src/signaler.cpp:62:25: fatal error: sys/eventfd.h: No such file or directory
#include <sys/eventfd.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip- build-INbMj2/pyzmq/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'),
__file__, 'exec'))" install --record /tmp/pip-n8hQ_h-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-INbMj2/pyzmq
Run Code Online (Sandbox Code Playgroud)
编辑二:遵循https://github.com/zeromq/pyzmq/issues/391的安装说明
pip install pyzmq --install-option="fetch_libzmq"
Run Code Online (Sandbox Code Playgroud)
收益率:
#include <sys/eventfd.h>
^
compilation terminated. …Run Code Online (Sandbox Code Playgroud) 我想让IPython笔记本运行以进行一些计算并显示一些视觉效果。
IPython Notebook完成后,我希望IPython Notebook中的最后一个单元以编程方式保存IPython Notebook。然后,我想将笔记本(包含所有输出)复制到另一个目录中,以记录结果。
我可以轻松地编写复制位,但是我不确定如何获得IPython笔记本以编程方式保存自身?这可能吗?提前致谢!
我正在尝试直接通过 javascript 执行 python 代码:
在 javascript consolde 中,我输入: IPython.notebook.kernel.execute("2+2")
但我得到一个奇怪的输出: "6CEA73CC644648DDA978FDD6A913E519"
有什么方法可以利用所有可用的 IPython javascript 函数,从 javascript 控制台运行 python 代码,如图所示?我确定有一种方法,但我一直在尝试它太久了,并认为我会在这里发帖。
(我需要这个来在 IPython 之上构建一个应用程序)
提前致谢!
所以,我使用ipython笔记本遇到了一个奇怪的问题而不知道该怎么做.通常,当我运行部分代码时,如果有错误,我会追溯它,修复它,然后重新运行代码.我做了类似的事情,但即使在对代码进行更改之后,看起来似乎没有任何变化!
这是一个例子......我正在使用Python 3.5,所以xrange已经消失了.这会导致抛出错误:
XXXX
24 XXXX
25 XXXX
---> 26 for t in xrange(0,len(data),1):
27
28 XXXX
NameError: name 'xrange' is not defined
Run Code Online (Sandbox Code Playgroud)
但在更改我的代码后(你可以在下面看到第26行的差异),会弹出同样的错误!
XXXX
24 XXXX
25 XXXX
---> 26 for t in range(0,len(data),1):
27
28 XXX
NameError: name 'xrange' is not defined
Run Code Online (Sandbox Code Playgroud)
关于为什么会发生这种情况的任何想法?
当在jupyter笔记本中生成pdf时,一切都很好,但我想在pdf和笔记本中保留内联数字.
这是我的代码:
%matplotlib notebook
import matplotlib.pyplot as plt
import numpy as np
from IPython.display import set_matplotlib_formats
set_matplotlib_formats('png', 'pdf')
save_figures = True
x = np.arange(0, 20, 0.1)
y = np.sin(x)
plt.figure()
plt.plot(x, y)
if save_figures:
plt.savefig('test.png')
plt.show()
Run Code Online (Sandbox Code Playgroud)
这些数字显示为内联,但在pdf中,打印的是:
<IPython.core.display.Javascript object>
<IPython.core.display.HTML object>
Run Code Online (Sandbox Code Playgroud)
如果我从Web nbconvert导出或使用从命令行导出到pdf ,则pdf中会出现相同的内容.
我需要调用任何其他命令才能使其工作吗?
matplotlib ipython-notebook jupyter jupyter-notebook nbconvert
什么是打印iPython笔记本(.ipynb)的最佳方法,该笔记本包含许多会在水平滚动条上显示的图形/图形,照片和代码?我曾尝试将它们转换为HTML,幻灯片,PDF等,但均未产生令人满意的输出。例如,幻灯片具有超大的字体/缩放,因此一页中的文字不超过5行。我已经尝试过GitPrint,但这仅适用于markdown(md)文件。我试着转换ipynb到tex使用pdflatex转换为PDF格式,但也有很多错误,我不断收到卡住了问号提示(?)。当我通过它们按Enter键时,输出中不包含照片。那么这里最好的方法是什么?我不在乎扩展名,只是ipynb在纸上看起来不错(如)。
该文档介绍了如何创建密码来保护您的Jupyter笔记本电脑。我希望能够使用该笔记本的特殊密码创建和共享该笔记本。这可能吗?
我有下面的问题(我在MAC上)
我可以用我的终端从python2.7或python3.6导入xgboost,但问题是我无法在我的Jupyter笔记本上导入它.
import xgboost as xgb
Run Code Online (Sandbox Code Playgroud)
ModuleNotFoundError Traceback(最近一次调用last)in()----> 1将xgboost导入为xgb
ModuleNotFoundError:没有名为'xgboost'的模块
虽然我写道:
!pip3 install xgboost
Run Code Online (Sandbox Code Playgroud)
它打印出:
要求已经满足:xgboost in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/xgboost-0.6-py3.6.egg要求已经满足:numpy in/Library/Frameworks/Python .framework/Versions/3.6/lib/python3.6/site-packages(来自xgboost)要求已经满足:scipy in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages(from xgboost)
请帮助我到处搜索:(