我正在尝试使用 NppExec 运行 Python 脚本。它运行良好(控制台会根据我在脚本中打印到 stdout 的内容进行更新),但脚本创建的窗口(通过 PyQt)从未显示。如果我在标准 shell(cmd.exe)中执行相同的脚本,窗口会正常显示。实际上,我想要启动的应用程序(vitables)的启动画面显示在 NppExec 下,而不是主窗口下。
更新:奇怪的是,我注意到它在某些机器上运行良好(但在其他机器上却不行)。它运行的机器和不运行的机器都使用相同的操作系统(Windows 7 SP1)、相同的 Notepad++ 版本(5.8.6)和 NppExec 版本(0.4.1)。我尝试更新到最新版本(npp 6.5.3 和 nppExec 0.5),但问题没有得到解决。
答案1
我在 Eric 对以下问题的评论中找到了解决方法(停止 NppExec 捕获控制台输出,直到程序完成),但有没有更好的方法呢?
作为参考,我遇到了额外的问题,即要运行的程序及其参数都需要用引号引起来(它们的路径包含空格),所以我不得不使用一对额外的引号:
cmd /c ""c:\my path to python with spaces\python" -u "$(FULL_CURRENT_PATH)""
更新:在以下帖子中找到了相同的解决方法:
http://sourceforge.net/p/npp-plugins/discussion/672146/thread/4e2bc155/
事实上,该帖子甚至被逐字逐句地复制到了 NppExec 手册的第 4.6.4 节“使用 wxPython 运行 Python 脚本”中。遗憾的是,Google 很少引用该手册,因此我在此提出问题。