Frage

Pylint tut etwas seltsam auf meinem Windows-Box - etwas, das nicht möglich sein sollte. Dies ist keine Frage über Pylint Festsetzung so viel wie Festsetzung mein Verständnis.

Ich habe eine typische Installation von der neuesten Version von Pylint, Python 2.6 und Windows Vista.

Wenn ich eine Eingabeaufforderung öffnen und lief Pylint von der Kommandozeile, führt er erfolgreich, dann, wenn es bis zum Ende des Programms wird, macht es nicht nur Ausfahrt auf die Kommandozeile wieder, sondern schließt den gesamten Befehl Prompt Fenster.

hatte ich einen kurzen Blick auf den Code online (was ich davon ausgehen, ist der Code, der tatsächlich abgearbeitet wird), und sie fordern sys.exit () mit verschiedenen Fehlerebenen, aber meine Lektüre und Prüfung schlägt vor, dass sollte noch gerade Rückkehr auf die Kommandozeile mit dem entsprechenden Fehler-Level-Set.

Pylint wird auch als Teil meines Projektes Prüfung Regime läuft, und es funktioniert es, mir was darauf hindeutet, dass, wenn es als eine Python-Methode aufgerufen wird eher von der Kommandozeile, es ist nicht das gleiche Problem hat (wahrscheinlich nicht rufen sys.exit () in diesem Codepfad.)

Mit dem, was Mechanismus könnte Pylint schließen die „Schale“, die es enthalten?

Wenn dies ein Fehler in Pylint? Ich sehe nicht, wie. Ein Fehler in Python? Ein Bug in Windows?

War es hilfreich?

Lösung

Ich habe gerade versucht dies auf XP:

t.bat:

  

exit

Ausführen dieses schließt das Fenster!

Vielleicht ist die Befehlszeile für Pylint verwendet eine Batch-Datei, die einen Ausgang enthält?

Andere Tipps

Dies ist eine sehr einfache Lösung. Gehen Sie in Ihren Python-Skripte Ordner und suchen pylint.bat und öffnen Sie sie in Notepad.

Es wird die folgende

lesen
@echo off
rem = """-*-Python-*- script
rem -------------------- DOS section --------------------
rem You could set PYTHONPATH or TK environment variables here
python -x "%~f0" %*
goto exit

"""
# -------------------- Python section --------------------
import sys
from pylint import lint
lint.Run(sys.argv[1:])


DosExitLabel = """
:exit
exit(ERRORLEVEL)
rem """

Um das Problem bei der Hand der Aufforderung Schließen Änderung zu beheben an folgenden

@echo off
rem = """-*-Python-*- script
rem -------------------- DOS section --------------------
rem You could set PYTHONPATH or TK environment variables here
python -x "%~f0" %*
goto exit

"""
# -------------------- Python section --------------------
import sys
from pylint import lint
lint.Run(sys.argv[1:])


DosExitLabel = """
:exit
ECHO.
rem exit(ERRORLEVEL)
rem """

Im Grunde alles, habe ich Kommentar aus dem Ausgang (Error-) mit „rem“ keyword dann, bevor es wieder auf die Aufforderung I geht mit in einem leeren Zeile Druck hinzugefügt „ECHO“. so dass die Eingabeaufforderung nicht schief geraten in der Ausgabe.

Dies ist http://www.logilab.org/ticket/19498 geplant für (in Entwicklung derzeit) 0.20.0.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top