Jak zainstalować cPickle w Pythonie 3.4?

46

Próbowałem sudo apt-get install cPicklei python3.4-cPickleale to nie działa.

winket
źródło
2
Zakładam, że instalujesz moduł python pip?
Rinzwind
czy możesz podać mi polecenie, proszę
vincet
8
AFAIK, w Pythonie 3 używasz pickletylko. Wewnętrznie użyje, cpicklejeśli jest dostępna. Zobacz docs.python.org/3.1/whatsnew/3.0.html#library-changes
cshubhamrao

Odpowiedzi:

61

W cPicklePythonie 3 nie ma :

Częstym wzorcem w Pythonie 2.x jest posiadanie jednej wersji modułu zaimplementowanej w czystym Pythonie, z opcjonalną akcelerowaną wersją zaimplementowaną jako rozszerzenie C; na przykład marynowane i cPikluj. To nakłada ciężar importowania wersji przyspieszonej i poleganie na czystej wersji Pythona na każdym użytkowniku tych modułów. W Python 3.0 wersje przyspieszone są uważane za szczegóły implementacji czystych wersji Python. Użytkownicy powinni zawsze importować wersję standardową, która próbuje zaimportować wersję przyspieszoną i wraca do czystej wersji Pythona. Para pikle / c Pikle otrzymała to leczenie.

- Źródło .

Paul Price
źródło
82

W python3.x cPicklezmienił się z cPicklena _pickle. Dlatego w python3.x możesz wykonać następujące czynności, jeśli chcesz użyć cPickle:

import _pickle as cPickle

Jednak w Pythonie 3.x łatwiej jest po prostu użyć marynaty.

Nie musisz niczego instalować. Jeśli coś wymaga cPicklew Pythonie 3.x, to prawdopodobnie jest to błąd.

Tshilidzi Mudau
źródło
4
Aby zachować zgodność z Pythonem 2.X, możesz użyć sześciu i importować z: import six; from six.moves import cPickle as picklejak opisano tutaj .
Matt Pitkin
@MattPitkin link rot, web.archive.org/web/20171008200414/http://… działa.
Jarosław Nikitenko
Zaktualizowany link jest tutaj python-3-for-scientists.readthedocs.io/en/latest/…
Matt Pitkin