Python 3.4にcPickleをインストールする方法は?


46

私が試したsudo apt-get install cPickleし、python3.4-cPickleそれが動作しません。


2
私はあなたがPythonモジュールをインストールすると仮定しますpipか?
リンツウィンド

コマンドをください
16年

8
私の知る限り、Python 3では、あなたpickleだけが使用します。使用cpickle可能な場合、内部的に使用されます。参照してくださいdocs.python.org/3.1/whatsnew/3.0.html#library-changes
cshubhamrao

回答:


61

cPicklePython 3にはありません:

Python 2.xの一般的なパターンは、モジュールの1つのバージョンを純粋なPythonで実装し、オプションの加速バージョンをC拡張として実装することです。たとえば、pickleおよびcPickle。これにより、高速化されたバージョンをインポートし、これらのモジュールの各ユーザーの純粋なPythonバージョンにフォールバックする負担がかかります。Python 3.0では、高速化されたバージョンは、純粋なPythonバージョンの実装の詳細と見なされます。ユーザーは常に標準バージョンをインポートする必要があります。これは、高速バージョンをインポートしようとし、純粋なPythonバージョンにフォールバックします。ピクルス/ cPickleペアはこの治療を受けました。

- ソース


82

python3.x cPickleではからcPickleに変更されました_pickle。したがって、python3.xでは、使用する場合は次のことができますcPickle

import _pickle as cPickle

ただし、Python 3.xでは、pickleを使用する方が簡単です。

何もインストールする必要はありません。cPicklepython 3.xで何かが必要な場合、それはおそらくバグです。


4
また、Pythonの2.Xとの互換性を維持するためには、使用することができます6とし、インポートを:import six; from six.moves import cPickle as pickle説明したように、ここで
マットピットキン

@MattPitkin link rot、web.archive.org /web/20171008200414/http://… 動作します。
ヤロスラフ・ニキテンコ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.