0.8.3 中的新功能

这里未列出错误修复、增强的内部功能或 API 新增内容。

  • ILeo 由 IPython 方面的 ipy_leo 扩展和 Leo 方面的 ipython.py 插件实现,允许在 IPython 和 Leo 文学编辑器/大纲之间进行高级集成。这包括编辑交互式 IPython 对象、方便地操作 Leo 文档内容等。这实际上使 Leo 成为一个 IPython 笔记本,您可以在其中持久存储工作数据和命令,并以高度交互的方式处理想法和数据。有关详细信息,请参见 http://webpages.charter.net/edreamleo/IPythonBridge.html

  • 多线程 shell(例如,由 matplotlib 交互使用)已得到改进,降低了出现极端情况死锁的可能性。如果发生死锁,IPython 也会在几秒钟内恢复,因此您不会丢失工作。

  • ipy_jobctrl 扩展中的 %tasks 和 %kill 允许您在 ctrl+C 无法执行时终止从 python 启动的操作系统进程

  • 新选项“autoexec”允许从配置文件对 IPython 启动时运行的命令进行排队。有关示例,请参见 ipy_user_conf.py

  • %edit MyClass 现在也可以在 MyClass 在另一个 %edit 会话中创建时使用。

  • 新的命令行参数

    • -pydb 告诉 ipython 使用 pydb 作为默认调试器(当安装 pydb 时不再假定)

    • -twisted 在 IPython 进程中安装 twisted 反应堆,其中所有输入的命令都在延迟的 twisted 调用中运行。这确保了除输入 IPython 行条目之外的所有内容都在同一线程中发生。

  • var = !cmd 不再打印输出,而是在变量中存储输出

  • sh 配置文件:支持 LA(前一个命令的最后一个参数),如 bash $!。这允许您输入诸如“cp $LA /tmp”或“cp $LA(3) /tmp”之类的系统命令

  • 开发过程中的改进,应该降低进入门槛

    • IPython 现在使用 ReStructuredText 和 Sphinx 进行文档编制。因此,文档也已针对重要部分进行了更新(尽管还不完美)

    • 我们已从 Subversion 切换到 Bazaar 和 Launchpad。您仍可以在 Trac 中提交错误,但建议使用 Launchpad

  • 值得注意的新扩展(仅举几例)

    • ipy_autoreload 自动重新加载您的模块,为您节省大量 reload() 调用

    • ipy_winpdb 提供 %wdb 魔术,其作用类似于 %run -d,但允许您在 WinPdb 中调试脚本,WinPdb 是一个跨平台 GUI 调试器

    • ipy_greedycompleter 使 tab 补全不那么挑剔,因此诸如 d[‘hello’].foo.<TAB> 之类的内容实际上会产生补全。

    • ipy_bzr 提供了一个 Bazaar (bzr) 选项卡补全程序,它知道该命令特有的所有命令和选项。如果您以前使用过 bzrtools 中的“bzr shell”,则推荐使用此程序。

  • wxIPython 中有很多改进,wxIPython 是基于 wx 的 GUI,它将 IPython 从控制台的限制中解放出来。