Pola umum dalam Python 2.x adalah memiliki satu versi modul diimplementasikan dalam Python murni, dengan versi akselerasi opsional diimplementasikan sebagai ekstensi C; misalnya, acar dan cPickle. Ini menempatkan beban mengimpor versi dipercepat dan jatuh kembali pada versi Python murni pada setiap pengguna modul ini. Di Python 3.0, versi akselerasi dianggap sebagai detail implementasi dari versi Python murni. Pengguna harus selalu mengimpor versi standar, yang mencoba mengimpor versi akselerasi dan kembali ke versi Python murni. Pasangan acar / cPickle menerima perawatan ini.
Pada python3.x cPickletelah berubah dari cPicklemenjadi _pickle. Jadi di python3.x, Anda dapat melakukan hal berikut jika Anda ingin menggunakan cPickle:
import _pickle as cPickle
Namun, dalam Python 3.x, lebih mudah menggunakan acar saja.
Tidak perlu menginstal apa pun. Jika sesuatu memerlukan cPicklepython 3.x, maka itu mungkin bug.
Untuk juga menjaga kompatibilitas dengan python 2.X, Anda dapat menggunakan enam dan mengimpor dengan: import six; from six.moves import cPickle as pickleseperti yang dijelaskan di sini .
pip
?pickle
hanya menggunakan . Secara internal itu akan digunakancpickle
jika tersedia. Lihat docs.python.org/3.1/whatsnew/3.0.html#library-changesJawaban:
Tidak ada
cPickle
dalam python 3:- Sumber .
sumber
Pada python3.x
cPickle
telah berubah daricPickle
menjadi_pickle
. Jadi di python3.x, Anda dapat melakukan hal berikut jika Anda ingin menggunakancPickle
:Namun, dalam Python 3.x, lebih mudah menggunakan acar saja.
Tidak perlu menginstal apa pun. Jika sesuatu memerlukan
cPickle
python 3.x, maka itu mungkin bug.sumber
import six; from six.moves import cPickle as pickle
seperti yang dijelaskan di sini .