我正在用IPython以交互方式编写我的脚本。这就是我目前所做的事情:
有更有效的方法吗?我可以在使用当前命名空间中的所有变量时从特定行启动脚本吗?
答案 0 :(得分:1)
我个人也会使用ipython笔记本,但你也可以使用你最喜欢的文本编辑器,并且总是复制出你想要运行的代码块,并使用魔术命令%paste在ipython shell中运行该块。它会照顾你的缩进。
答案 1 :(得分:1)
使用%edit stuff.py
(第一次使用)和%ed -p
(第一次使用后)的魔力,它将从ipython内部调用$EDITOR
。退出编辑器后,ipython将运行脚本(除非您调用%ed -x
)。这是我发现在CLI-ipython中工作的最快方式。笔记本很不错,但我喜欢有一个真正的代码编辑器。
答案 2 :(得分:0)
IPython Notebook允许您逐行交互式运行脚本。它带有IPython,只需运行:
ipython notebook
从终端启动它。它是IPython的Web界面,您可以通过单击设置中的“保存”将笔记本保存到*.py
文件。
以下是video的更多信息。
答案 3 :(得分:0)
使用 ipdb (" pip install ipdb"在命令行上安装它)。
假设您要从第18行到第23行运行脚本" foo.py" 。 你想要这样开始:
ipdb foo.py
现在,让 j ump到第18行(即忽略18日之前的所有行):
ipdb> j 18
接下来,我们在第23行设置 b reakpoint(我们不想进一步):
ipdb> b 23
最后,让我们执行:
ipdb> c
完成工作:)
答案 4 :(得分:0)
(基于lev的回答)
来自交互式shell:
%run -i -d foo.py
然后应进入调试器,然后继续:
j <line_number>
c
等
编辑:不幸的是,这似乎有点打破了ipython的魔法%调试命令。
答案 5 :(得分:0)
快速使用http://qtconsole.readthedocs.io/en/stable/
它类似于基于你的浏览器的Jupyter笔记本(正如@agonti和@ magellan88指出的那样,但可能要快得多。它还有emacs风格的键绑定。
我使用ipdb,ipython,与tmux和vim一起使用,并获得几乎类似IDE的功能,速度更快。