pympler löst TypeError aus

8

In python2.7 folgen Sie dem Beispiel Beispiel :

%Vor%

Dies ist der erste Code nach dem Import. Es ergibt sich

%Vor%

Ich bekomme den gleichen Fehler, wenn ich versuche, ein SummaryTracker-Objekt zu initialisieren.

Es sieht aus wie ein Fehler in Pympler, aber die Tatsache, dass ich keine Erwähnung davon finden kann, widerspricht dem. Laut der offiziellen Dokumentation , "ist Pympler vollständig in Python geschrieben, ohne Abhängigkeiten zu externen Bibliotheken. Es wurde mit getestet Python 2.5, 2.6, 2.7, 3.1, 3.2, 3.3, 3.4 unter Linux, Windows und MacOS X. " Tatsächlich führt das Ausführen des folgenden Codes mit Python 2.7 in einer neuen Python-Datei zu keinen Fehlern und funktioniert wie erwartet:

%Vor%

Also, was fehlt mir?

    
Darina 03.06.2016, 11:57
quelle

3 Antworten

1

Dies ist Pandas-Problem # 12924 . PandasObject.__sizeof__ hatte die Argumente in der falschen Reihenfolge für den Aufruf super . Die Fehlerbehebung wurde aufgehoben und sollte in der nächsten Version verfügbar sein. In der Zwischenzeit könnten Sie pandas/core/base.py bearbeiten, um die Reihenfolge der Argumente zu ändern, oder Sie könnten auf die Anwesenheit des Fehlers testen und die Methode mit einer korrigierten Version affen.

    
user2357112 11.07.2016, 17:44
quelle
2

Es scheint ein Problem in Pandas Bibliothek zu sein. Ich habe es gelöst, indem ich den Bibliothekscode bearbeitet habe. Die Spur des Fehlers zeigt Ihnen an, welche Zeile falsch ist:

%Vor%

Sie müssen nur die Reihenfolge der Parameter ändern:

%Vor%

Ich habe es geschafft und konnte mein Programm normal laufen lassen.

    
Nacho Traverso Ribón 07.06.2016 13:56
quelle
0

Wahrscheinlich sollte der Code nur mit Python3 funktionieren. In dieser Frage gibt es denselben Fehler Für Python2 und wenn Sie die akzeptierte Antwort betrachten, heißt es:

  

super () (ohne Argumente) wurde in python3 eingeführt:

     

super () - & gt; Wie super ( class )

     

Das wäre das Python2-Äquivalent für neue Stilklassen:

     

super (CurrentClass, selbst)

Sie müssen wahrscheinlich python3 verwenden, wenn Sie den Bibliothekscode nicht ändern möchten.

    
DomTomCat 03.06.2016 12:03
quelle