Ich habe ein Stück Code, das die meiste Zeit perfekt läuft, aber ab und zu bekomme ich diesen Fehler im Traceback:
%Vor% Ich weiß, was issubclass()
macht und verstehe den Fehler, aber ich habe ihn nie aufgerufen; Diese Zeile im Code ist reine Arithmetik, also weiß ich nicht, warum diese TypeError
an erster Stelle steht. Meine einzige Theorie ist, dass Numpy es hinter den Kulissen aufruft, aber dann sollte das Traceback die problematische Linie in der Numpy-Quelle zeigen, richtig? Was ist los?
Aktualisierungen:
wv
ist ein Array von Floats und sm2
ist ein Float-Skalar. Der Fehler wird tatsächlich von numpy.log
ausgelöst, d. H. Der (neuen) Zeile
In der Fehlermeldung werden jedoch keine weiteren Informationen angezeigt.
Weitere Updates:
Meine aktuelle Version von Numpy (von einer Python-Eingabeaufforderung):
%Vor%Ich habe die Problemlinie in
geändert %Vor%und bekam die Ausgabe
%Vor%Es macht also Sinn, dass es eine Art Fehler geben würde, aber wenn ich dies (an einer Python-Eingabeaufforderung) mache
%Vor% Ich bekomme den Fehler, den ich erwarten würde (und bin bereits im fraglichen Code über das warning
Modul):
Das war schließlich ein Fehler in meinem Code ... Wie @seberg darauf hinweist, funktioniert dieser Code normal:
%Vor% numpy.seterr
bietet eine Alternative zum Umgang mit RuntimeWarning
auf diese Weise, obwohl:
Wie auch immer, es funktioniert, obwohl Python wirklich eine Art Ausnahme auslösen sollte, um statt einer Klasse eine Zeichenfolge an warnings.simplefilter
zu übergeben.
Tags und Links python python-2.7 numpy