En vérifiant sur l'interweb, j'ai trouvé ceci
Un modèle courant dans Python 2.x consiste à avoir une version d'un module implémentée en Python pur, avec une version accélérée facultative implémentée en tant qu'extension C; par exemple, pickle et cPickle.
Cela impose à chaque utilisateur de ces modules la charge d'importer la version accélérée et de se rabattre sur la version pure Python. Dans Python 3.0, les versions accélérées sont considérées comme des détails d'implémentation des versions Python pures.
Les utilisateurs doivent toujours importer la version standard, qui tente d'importer la version accélérée et revient à la version Python pure. Le couple pickle/cPickle a reçu ce traitement. Le module de profil est sur la liste pour 3.1. Le module StringIO a été transformé en classe dans le module io.
Ce qui signifie qu'en Python3, il s'agit d'une bibliothèque ...
import _pickle as cPickle
Mettre à jour
Comme Invapid le dit dans les commentaires ci-dessous, celui-ci est similaire à la réponse ci-dessus
from six.moves import cPickle
Vous pouvez utiliser :
pip install pickle-mixin
cPickle
fait partie de la bibliothèque standard de Python ; vous ne l'installez pas avec pip
. Dans Python 2, il est installé avec Python. Dans Python 3, citant les notes de version avec une emphase supplémentaire :
Un modèle courant dans Python 2.x consiste à avoir une version d'un module implémentée en Python pur, avec une version accélérée facultative implémentée en tant qu'extension C; par exemple, pickle et cPickle. Cela impose à chaque utilisateur de ces modules la charge d'importer la version accélérée et de se rabattre sur la version pure Python. Dans Python 3.0, les versions accélérées sont considérées comme des détails d'implémentation des versions Python pures. Les utilisateurs doivent toujours importer la version standard, qui tente d'importer la version accélérée et revient à la version Python pure. Le couple pickle / cPickle a reçu ce traitement.
Dans le cas précis de la tentative d'installation de cpickle
avec pip, un Pythonista a décidé d'informer les gens que c'était la mauvaise chose à faire et a donc enregistré le cpickle
projet (avec de nombreux autres nommés d'après les modules de bibliothèque standard) et lui a donné un setup.py
cela ne ferait rien d'autre que de sortir avec l'erreur "Package 'cpickle' must not be downloaded from pypi
". Cependant, quelque chose semble s'être mal passé soit lors de la création du package, soit du côté de PyPI, ce qui a provoqué une malformation du fichier de distribution source, entraînant l'erreur que vous voyez ici. Ainsi, même si cette erreur a été corrigée, vous' j'obtiens toujours une autre erreur vous indiquant de ne pas faire ce que vous essayez de faire.