Wie kann man NppExec dazu bringen, von Skripts erstellte Fenster zu zeigen?

1189
Gaëtan de Menten

Ich versuche, ein Python-Skript mit NppExec auszuführen. Es läuft einwandfrei (die Konsole wird mit dem aktualisiert, was ich im Skript auf stdout drucke), aber das Fenster, das das Skript erstellt (über PyQt), wird nie angezeigt. Wenn ich dasselbe Skript in einer Standard-Shell (cmd.exe) ausführen, wird das Fenster gut angezeigt. Tatsächlich wird der Begrüßungsbildschirm der Anwendung, die ich starten möchte (Vitables), unter NppExec angezeigt, nicht jedoch das Hauptfenster.

Update : Seltsamerweise habe ich festgestellt, dass es auf einigen Maschinen einwandfrei funktioniert (auf anderen jedoch nicht). Sowohl die Maschinen, auf denen es funktioniert, als auch diejenigen, auf denen es nicht dasselbe Betriebssystem (Windows 7 SP1), dieselbe Notepad ++ - Version (5.8.6) und NppExec-Version (0.4.1) verwendet. Ich habe versucht, auf die neuesten Versionen zu aktualisieren (npp 6.5.3 und nppExec 0.5), aber das Problem wird dadurch nicht behoben.

0

1 Antwort auf die Frage

0
Gaëtan de Menten

Ich habe in der folgenden Frage eine Umgehung in Erics Kommentar gefunden ( NppExec darf die Konsolenausgabe nicht einfangen, bis das Programm beendet ist ), aber gibt es einen besseren Weg?

Als Referenz hatte ich das zusätzliche Problem, dass sowohl das auszuführende Programm als auch sein Argument in Anführungszeichen gesetzt werden müssen (der Pfad enthält Leerzeichen), sodass ich ein zusätzliches Paar Anführungszeichen verwenden musste:

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

Update : Die gleiche Problemumgehung finden Sie im folgenden Beitrag:

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

Tatsächlich wird dieser Beitrag sogar wörtlich in Abschnitt 4.6.4 kopiert. "Ausführen von Python-Skripts mit wxPython" im NppExec-Handbuch. Leider wird dieses Handbuch von Google sehr schlecht referenziert, daher meine Frage hier.