Установка cPickle с помощью python 3.5
Это может быть глупо, но я не могу установить cPickle
с python 3.5 docker image
Dockerfile
FROM python:3.5-onbuild
requirements.txt
cpickle
Когда я пытаюсь создать изображение
$ 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
Ответы
Ответ 1
cPickle
поставляется со стандартной библиотекой... в python 2.x. Вы находитесь на python 3.x, поэтому, если вы хотите cPickle
, вы можете сделать это:
>>> import _pickle as cPickle
Однако в 3.x проще просто использовать pickle
.
Не нужно ничего устанавливать. Если что-то требует cPickle
в python 3.x, то это, вероятно, ошибка.
Ответ 2
В python3.x cPickle изменился с cPickle на _pickle. Таким образом, в python3.x вы можете сделать следующее, если вы хотите использовать cPickle
import _pickle