Wie installiere ich cPickle auf Python 3.4?

46

Ich habe es versucht sudo apt-get install cPickleund python3.4-cPickleaber es funktioniert nicht.

vincet
quelle
2
Ich würde davon ausgehen, dass Sie ein Python-Modul mit installieren pip?
Rinzwind
Kannst
8
AFAIK, in Python 3 verwenden Sie picklenur. Intern wird es verwendet, cpicklewenn verfügbar. Siehe docs.python.org/3.1/whatsnew/3.0.html#library-changes
cshubhamrao

Antworten:

61

cPickleIn Python 3 gibt es keine :

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.

- Quelle .

Paul Price
quelle
82

In python3.x cPicklewurde von cPicklenach geändert _pickle. Daher können Sie in python3.x Folgendes tun, wenn Sie Folgendes verwenden möchten cPickle:

import _pickle as cPickle

In Python 3.x ist es jedoch einfacher, pickle zu verwenden.

Es muss nichts installiert werden. Wenn cPicklein Python 3.x etwas erforderlich ist , dann ist das wahrscheinlich ein Fehler.

Tshilidzi Mudau
quelle
4
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 .
Matt Pitkin
@MattPitkin link rot, web.archive.org/web/20171008200414/http://… funktioniert.
Jaroslaw Nikitenko
Der aktualisierte Link ist hier: python-3-for-scientists.readthedocs.io/en/latest/…
Matt Pitkin