Zähler im Modul Sammlungen Python

8

Ich bin auf ein wirklich seltsames Problem gestoßen. Ich versuche, Counter-Funktion im Sammlungsmodul zu verwenden. Ich bekomme jedoch immer die gleiche Fehlermeldung

%Vor%

Ich habe versucht, es vorher zu verwenden, und es hat gut funktioniert, aber jetzt aus irgendeinem Grund, wenn ich "Sammlungen" -Modul importiere, hat es eine sehr begrenzte Anzahl von Attributen.

Ich habe es versucht:

%Vor%

Für beide bekomme ich immer Attributfehler.

Ich habe es auch versucht

%Vor%

Und in diesem Fall habe ich:

%Vor%

Diese werden alle sowohl in der ipython-Schnittstelle als auch durch ein Skript getestet (es werden nichts anderes importiert, nur die Sammlungen).

Irgendwelche Ideen?

    
branwen85 09.11.2012, 15:38
quelle

3 Antworten

24

Die Klasse Counter wurde dem Modul in Python 2.7 hinzugefügt. Wahrscheinlich verwenden Sie Python 2.6 oder älter. Aus der collections.Counter() -Dokumentation :

  

Neu in Version 2.7.

Bei Python 2.5 oder 2.6 verwenden Sie stattdessen diesen Backport .

    
Martijn Pieters 09.11.2012 15:39
quelle
2

Bei der Installation von pandas ist das gleiche Problem aufgetreten.

Ursache : Counter wird nur in python2.7 und höher unterstützt und ist in früheren Versionen nicht verfügbar - Counter class wurde in collections package in Python 2.7 hinzugefügt.

Lösung 1 : Wie von Martin Pieters angegeben - verwenden Sie den Backport.

Fügen Sie counter.py bei /lib64/python2.6/ hinzu - hier ist collections.py % Code% Patch ./lib64/python2.6/collections.py mit:

%Vor%

Lösung 2 : Verwenden Sie das Paket collections.py . Nächster Patch (die import-Anweisung) das Paket, bei dem Sie eine Ausnahme erhalten, also Pandas in meinem Fall:

%Vor%     
Nabeel Ahmed 16.08.2016 08:15
quelle
1

Wahrscheinlich verwenden Sie eine alte Version von Python, die Klasse Counter , wie in Dokumentation wurde in Version 2.7 hinzugefügt.

    
Óscar López 09.11.2012 15:39
quelle