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

46

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

vincet
источник
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как описано здесь .
Мэтт Питкин
@MattPitkin link rot, web.archive.org/web/20171008200414/http://… works.
Ярослав Никитенко
Обновленная ссылка находится здесь python-3-for-scientists.readthedocs.io/en/latest/…
Мэтт Питкин