Как установить cPickle на Python 3.4?


46

Я попробовал sudo apt-get install cPickleи , python3.4-cPickleно он не работает.


2
Я хотел бы предположить, что вы устанавливаете модуль Python с pip?
Rinzwind

Можете ли вы дать мне команду, пожалуйста
Винсет

8
AFAIK, в Python 3 вы используете pickleтолько. Внутренне это будет использовать, cpickleесли доступно. См. Docs.python.org/3.1/whatsnew/3.0.html#library-changes
cshubhamrao

Ответы:


61

Нет cPickleв питоне 3:

Распространенный шаблон в Python 2.x - иметь одну версию модуля, реализованную на чистом Python, с необязательной ускоренной версией, реализованной как расширение C; например, маринад и сПикл. Это возлагает бремя импорта ускоренной версии и использования чистой версии Python на каждого пользователя этих модулей. В Python 3.0 ускоренные версии считаются деталями реализации чистых версий Python. Пользователи всегда должны импортировать стандартную версию, которая пытается импортировать ускоренную версию и возвращается к чистой версии Python. Пара маринад / cPickle получила эту обработку.

- Источник .


82

На python3.x cPickleизменился с cPickleна _pickle. Таким образом, в python3.x вы можете сделать следующее, если хотите использовать cPickle:

import _pickle as cPickle

Однако в Python 3.x проще использовать pickle.

Не нужно ничего устанавливать. Если что-то требует cPickleв Python 3.x, то это, вероятно, ошибка.


4
Чтобы также поддерживать совместимость с python 2.X, вы можете использовать шесть и импортировать с помощью: import six; from six.moves import cPickle as pickleкак описано здесь .
Мэтт Питкин


Обновленная ссылка находится здесь python-3-for-scientists.readthedocs.io/en/latest/…
Мэтт Питкин
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.