web-dev-qa-db-fra.com

installer cPickle avec python 3.5

Cela peut sembler idiot mais je ne parviens pas à installer cPickle avec python 3.5 docker image

Dockerfile

FROM python:3.5-onbuild

Requirements.txt

cpickle

Quand j'essaie de construire l'image

$ docker build -t sample .
Sending build context to Docker daemon 3.072 kB
Step 1 : FROM python:3.5-onbuild
# Executing 3 build triggers...
Step 1 : COPY requirements.txt /usr/src/app/
Step 1 : RUN pip install --no-cache-dir -r requirements.txt
 ---> Running in 016c35a032ee
Collecting cpickle (from -r requirements.txt (line 1))
  Could not find a version that satisfies the requirement cpickle (from -r requirements.txt (line 1)) (from versions: )
No matching distribution found for cpickle (from -r requirements.txt (line 1))
You are using pip version 7.1.2, however version 8.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
The command '/bin/sh -c pip install --no-cache-dir -r requirements.txt' returned a non-zero code: 1
30
kampta

cPickle est fourni avec la bibliothèque standard… in python 2.x. Vous êtes sur python 3.x, alors si vous voulez cPickle, vous pouvez faire ceci:

>>> import _pickle as cPickle

Cependant, dans la version 3.x, il est plus simple d’utiliser pickle.

Pas besoin d'installer quoi que ce soit. Si quelque chose nécessite cPickle dans python 3.x, alors c'est probablement un bogue.

74
Mike McKerns

Sur python3.x, cPickle est passé de cPickle à _pickle. Ainsi, dans python3.x, vous pouvez faire ce qui suit si vous voulez utiliser cPickle

importer _pickle

3
Naren