P i*_*P i 10 python debugging ipython spyder jupyter-notebook
我的Jupyter/IPython笔记本在外部.py中执行函数.
我需要在这些函数中设置断点,检查变量,单步等.
使用print语句组合和抛出异常来提前退出单元格是不切实际的.
我需要某种工作流程.
是否可以连接某些第三方编辑器/ IDE来查看.py并以某种方式将其连接到Jupyter/IPython正在使用的Python运行时?
因此,如果我使用我的IDE在外部.py中设置断点并在笔记本中执行遇到所述断点的单元格,我可以继续在IDE中手动导航.
编辑:我发现https://pypi.python.org/pypi/ipdb https://www.quora.com/What-are-your-favorite-tricks-for-IPython-Notebook
编辑https://www.youtube.com/watch?v=Jb2HHOahvcE < - 这个视频越来越接近我所追求的,我只是不能完全看到如何将它们放在一起.该视频演示了spyder,这是一个带有IPython提示的IDE ...我想知道是否可以通过提示运行我的笔记本并调试它.
编辑:看起来好像PyCharm正是我所追求的:https://www.jetbrains.com/help/pycharm/2016.1/tutorial-using-ipython-jupyter-notebook-with-pycharm.html
编辑:我正在试图让PyCharm表现得好.如果我把它整理出来,我会在答案中提供详细信息.
是否可以连接某些第三方编辑器/ IDE来查看.py并以某种方式将其连接到Jupyter/IPython正在使用的Python运行时?
是的,这是可能的.
您可以与iPython运行时并行打开文件.可以使用键快捷键将外部文件中的定义直接发送到提示,并使用标准python调试器pdb 设置断点,单步和检查 iPython提示中的变量.
自动完成工作正常.简单编写import XXX使Emacs了解XXX模块中的所有功能.  
这些是我访问屏幕截图的步骤.*
C-c C-p以启动iPython进程并将文件连接到它.请注意,iPython进程功能齐全.我可以在上面调用所有魔术方法.M-m m d b以在我想要的行中包含断点(以pdb导入的形式)C-M-x以定义发送到IPython的提示.请注意我在调用的屏幕截图中unique_everseen没有输入提示符.定义是直接从文件发送的(这就是为什么我们有一个空单元格2,作为Emacs做了一些事情的视觉反馈).n进入下一条指令.现在,我甚至没有触及 Emacs可以提供的表面.如果您对此感兴趣,我建议您进行调查.它非常强大,拥有一个伟大的,非常有用的和活跃的社区.
为了让所有Python配置无需自己配置任何东西就可以开箱即用,只需安装Spacemacs,一个流行的Emacs发行版(anaconda是Python,Spacemacs是Emacs).安装说明可在链接下找到.
使用Emacs编辑iPython笔记本.
一个名为EIN(Emacs iPython Notebooks)的软件包"在Emacs中提供了一个IPython Notebook客户端和集成的REPL." 要使其工作,您可以从任何终端打开iPython笔记本电脑服务器ipython notebook,并调用该功能ein:notebooklist.
更多信息可以在这里的项目页面下找到,也可以在Spacemacs iPython-Notebook层页面上找到.
特别是,从EIN文档:
上面描述的简单iPython +文件工作流程的所有功能都可用于iPython笔记本(*.ipynb).
屏幕截图在这里.
小智 5
在 Jupyter 中,您可以通过添加以下两行作为断点来使用 python 调试器。
import pdb
pdb.set_trace()
代码执行将在此步骤暂停,并为您提供用于调试 Python 代码的文本框。我附上了相同的截图。
您可以参考 pdb文档了解除了打印变量之外还可以执行的操作
| 归档时间: | 
 | 
| 查看次数: | 2240 次 | 
| 最近记录: |