Как заставить NppExec показывать созданные скриптом окна?

1115
Gaëtan de Menten

Я пытаюсь запустить скрипт 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), но это не решает проблему.

0

1 ответ на вопрос

0
Gaëtan de Menten

I have found a work-around in Eric's comment in the following question (Stop NppExec from trapping console output until program finishes), but is there a better way?

For reference, I had the additional problem that both the program to run and its argument need to be quoted (their path contain spaces), so I had to use an extra pair of quotes:

cmd /c ""c:\my path to python with spaces\python" -u "$(FULL_CURRENT_PATH)"" 

Update: the same workaround is found in the following post:

http://sourceforge.net/p/npp-plugins/discussion/672146/thread/4e2bc155/

In fact, that post is even copied verbatim in section 4.6.4. "Run Python scripts with wxPython" of NppExec manual. Sadly that manual is very poorly referenced by Google, hence my question here.