我正在考虑使用*.ipynb文件作为事实的来源,并以编程方式将它们"编译"成.py文件以用于预定的作业/任务.
我理解这样做的唯一方法是通过GUI.有没有办法通过命令行来做?
Python和IPython之间究竟有什么区别?
如果我用Python编写代码,它会在IPython中运行还是需要修改?
我知道IPython应该是Python的交互式shell,但这就是全部吗?还是有一种叫做IPython的语言?如果我在IPython下写一些东西,它会在Python中运行,反之亦然吗?如果有差异,我怎么知道它们是什么?Python使用的所有包都可以像IPython一样工作吗?
当我打开一个Jupyter笔记本(以前称为IPython)时,默认为C:\Users\USERNAME.
如何将其更改为其他位置?
谢谢.
我有jupyter/anaconda/python3.5.
我怎么知道哪个conda环境是我的jupyter笔记本运行?
如何从新的conda环境中启动jupyter?
我开始严重依赖IPython笔记本应用程序来开发和记录算法.太棒了; 但有些东西似乎应该是可能的,但我无法弄清楚如何做到这一点:
我想将本地图像插入到我的(本地)IPython笔记本标记中以帮助记录算法.我知道可以添加类似<img src="image.png">降价的东西,但这就是我的知识.我假设我可以将图像放在由127.0.0.1:8888(或某个子目录)表示的目录中以便能够访问它,但我无法弄清楚该目录的位置.(我正在使用Mac.)那么,是否有可能在没有太多麻烦的情况下做我想做的事情?
我想用IPython笔记本作为交互式分析我用Biopython GenomeDiagram模块制作的一些基因组图表的方法.虽然有关于如何matplotlib在IPython笔记本中使用内联图形的大量文档,但GenomeDiagram使用了ReportLab工具包,我认为它不支持IPython中的内联图形.
然而,我想,解决这个问题的方法是将绘图/基因组图表写入文件,然后打开内联图像,这将具有相同的结果,如下所示:
gd_diagram.write("test.png", "PNG")
display(file="test.png")
Run Code Online (Sandbox Code Playgroud)
但是,我无法弄清楚如何做到这一点 - 或者知道它是否可行.那么有人知道图像是否可以在IPython中打开/显示?
根据我的阅读,有两种方法可以在Python中调试代码:
使用传统的调试器,如pdb或ipdb.这支持诸如cfor continue,nfor step-over,sfor step-into等命令,但是你没有直接访问IPython shell,这对于对象检查非常有用.
使用 IPython的通过嵌入代码中的一个IPython的壳.您可以这样做from ipython import embed,然后embed()在您的代码中使用.当您的程序/脚本命中一个embed()语句时,您将被放入一个IPython shell中.这允许使用所有IPython好东西对对象进行全面检查并测试Python代码.但是,在使用时,embed()您无法使用便捷的键盘快捷键逐步完成代码.
有没有办法结合两全其美?即
这种类型的"增强调试"的一个例子可以在MATLAB中找到,用户总是可以完全访问MATLAB引擎/ shell,她仍然可以逐步完成代码,定义条件断点等.我与其他用户讨论的内容,这是人们在从MATLAB迁移到IPython时最想念的调试功能.
我不想让问题太具体,但我主要在Emacs工作,所以我想知道是否有任何方法可以将此功能纳入其中.理想情况下,Emacs(或编辑器)将允许程序员在代码的任何位置设置断点,并与解释器或调试器通信以使其停在您选择的位置,并在该位置引入完整的IPython解释器.
有没有办法让IPython自动重新加载所有更改的代码?在每个行在shell中执行之前,或者在特别请求它时失败.我正在使用IPython和SciPy进行大量的探索性编程,每当我更改它时,必须手动重新加载每个模块是非常痛苦的.
除了来自单元格的原始输出之外,我还想花费在单元格执行上花费的时间.
为此,我试过%%timeit -r1 -n1但它没有公开在单元格中定义的变量.
%%time 适用于仅包含1个语句的单元格.
In[1]: %%time
1
CPU times: user 4 µs, sys: 0 ns, total: 4 µs
Wall time: 5.96 µs
Out[1]: 1
In[2]: %%time
# Notice there is no out result in this case.
x = 1
x
CPU times: user 3 µs, sys: 0 ns, total: 3 µs
Wall time: 5.96 µs
Run Code Online (Sandbox Code Playgroud)
最好的方法是什么?
我已经在Nbextension中使用Execute Time已经有一段时间了.太棒了.