0
erhalte ich diesen Fehler in den Protokollen während eines yml Testlauf:sys.stderr verloren Ausführung odoo YML Test
close failed in file object destructor:
sys.excepthook is missing
lost sys.stderr
Ich denke, einige Ausnahme vielleicht nicht richtig gehandhabt werden.
Ohne viel mehr Details über Ihren Code, den ich Ihnen nicht genau sagen, aber: dies geschieht, wenn Python Bereinigt Objekte, die beim Herunterfahren des Interpreters noch aktiv waren, und ein Dateiobjekt wird nicht ordnungsgemäß geschlossen. Dies geschieht, nachdem * 'sys.stderr' bereits geschlossen wurde, so dass der Fehler nicht gemeldet werden kann. (Es sollte unmöglich sein, dass 'nahe 'Methoden fehlschlagen, aber leider ist es nicht so.) Um dies zu vermeiden, müssen Sie sicherstellen, dass alle von Ihrem Test geöffneten Dateien geschlossen sind * bevor * der Interpreter heruntergefahren wird; Der einfachste Weg, dies zu tun, ist mit 'mit' Aussagen. – zwol
Es scheint, dass die sys.stderr nicht in dem Kontext verfügbar ist, in dem odoo die YAML-Tests ausführt. Beachten Sie, dass yaml keine Python-Dateien sind, sie können Python-Code im! Python-Tag haben. Dieser Code wird über die Python-Funktion "eval" verwendet. Ich weiß nicht, wie eval mit sys.stderr umgeht – yucer