Как заставить NppExec показывать созданные скриптом окна?
Я пытаюсь запустить скрипт Python с NppExec. Он работает нормально (консоль обновляется всем, что я печатаю в stdout в скрипте), но окно, которое создает скрипт (через PyQt), никогда не появляется. Если я выполняю тот же сценарий в стандартной оболочке (cmd.exe), окно отображается очень хорошо. На самом деле заставка приложения, которое я хочу запустить (vitables), отображается в NppExec, но не в главном окне.
Обновление: Странно, я заметил, что он отлично работает на некоторых машинах (но не на других). И машины, на которых он работает, и те, на которых он не использует одну и ту же ОС (Windows 7 SP1), ту же версию Notepad++ (5.8.6) и версию NppExec (0.4.1). Я попытался обновить до последних версий (npp 6.5.3 и nppExec 0.5), но это не решает проблему.
1 ответ
Я нашел обходной путь в комментарии Эрика в следующем вопросе (не позволяйте 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/
Фактически, этот пост даже дословно скопирован в раздел 4.6.4. "Запускать скрипты Python с помощью wxPython" руководства NppExec. К сожалению, на это руководство очень плохо ссылается Google, поэтому мой вопрос здесь.