Ein gängiges Muster in Python 2.x besteht darin, eine Version eines Moduls in reinem Python zu implementieren, wobei eine optionale beschleunigte Version als C-Erweiterung implementiert wird. Zum Beispiel pickle und cPickle. Dies bedeutet, dass jeder Benutzer dieser Module die beschleunigte Version importieren und auf die reine Python-Version zurückgreifen muss. In Python 3.0 werden die beschleunigten Versionen als Implementierungsdetails der reinen Python-Versionen betrachtet. Benutzer sollten immer die Standardversion importieren, die versucht, die beschleunigte Version zu importieren und auf die reine Python-Version zurückgreift. Das Pickel / Pickel-Paar erhielt diese Behandlung.
Um die Kompatibilität mit Python 2.X zu gewährleisten, können Sie Six verwenden und importieren mit: import six; from six.moves import cPickle as picklewie hier beschrieben .
pip
?pickle
nur. Intern wird es verwendet,cpickle
wenn verfügbar. Siehe docs.python.org/3.1/whatsnew/3.0.html#library-changesAntworten:
cPickle
In Python 3 gibt es keine :- Quelle .
quelle
In python3.x
cPickle
wurde voncPickle
nach geändert_pickle
. Daher können Sie in python3.x Folgendes tun, wenn Sie Folgendes verwenden möchtencPickle
:In Python 3.x ist es jedoch einfacher, pickle zu verwenden.
Es muss nichts installiert werden. Wenn
cPickle
in Python 3.x etwas erforderlich ist , dann ist das wahrscheinlich ein Fehler.quelle
import six; from six.moves import cPickle as pickle
wie hier beschrieben .