3

我为 IPython 创建了以下 ipython_config.py 脚本:

c = get_config()
c.TerminalInteractiveShell.editor = 'C:\PROGRA~2\NOTEPA~1\NOTEPA~1.exe'

现在,当我 %edit 某个文件时,我得到了相当不受欢迎的行为,也就是说,它开始在 Notepad++ 中编辑并立即执行代码。说:

%edit 'C:/Python27/share/kivy-examples/widgets/textinput.py'

这将在 Notepad++ 中启动编辑 textinput.py(到目前为止还不错)并立即启动此应用程序(不好)。

更糟糕的是,当我第二次开始编辑时,它确实启动了 N++,但 kivy 应用程序无法再次运行,除了这个例外:

C:\Python27\lib\site-packages\kivy\core\window\window_pygame.pyc in flip(self)
    217
    218     def flip(self):
--> 219         pygame.display.flip()
    220         super(WindowPygame, self).flip()
    221

error: video system not initialized

如何解决这个问题?也就是说,我希望 IPython 能够:

  1. 等待 N++ 完成编辑(比如 WinSCP 能够识别您已使用外部编辑器完成编辑,然后才上传更改的文件)。

  2. 一次运行后不要搞砸kivy发射。

4

1 回答 1

3

您需要使用InteractiveLauncher。Tshirtman 还制作了一个小视频,展示了如何使用它。该功能的文档页面上提到了所有要避免的陷阱和更多详细信息。

于 2013-04-16T13:09:10.847 回答