Установить пакет Python в файле Docker - PullRequest
0 голосов
/ 14 мая 2018

В моем файле Docker я хочу установить пакет python med2image (https://github.com/FNNDSC/med2image). Я использую следующий код:

FROM ubuntu:16.04
RUN apt-get update && apt-get install -y --no-install-recommends \
    python3.5 \
    python3-pip \
    && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN pip install nibabel pydicom matplotlib pillow
RUN pip install med2image

Но я получаю следующую ошибку, когда хочу создать образ:

Downloading https://files.pythonhosted.org/packages/6f/e5/948b023c7feb72adf7dfb26d90a13c838737bbf52be704f5ddd0878e3264/med2image-1.1.2.tar.gz
Complete output from command python setup.py egg_info:
Sorry, only Python 3.5+ is supported.

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in  /tmp/pip-install-FnNb_S/med2image/
The command '/bin/sh -c pip install med2image' returned a non-zero code: 1

Что мне делать?!

Ответы [ 3 ]

0 голосов
/ 15 мая 2018

Попробуйте pip3

RUN pip3 install nibabel pydicom matplotlib pillow
RUN pip3 install med2image
0 голосов
/ 15 мая 2018

В некоторых других ответах / комментариях предлагается изменить базовый образ, но если вы хотите сохранить Ubuntu 16.04, вы также можете просто указать свою версию pip / python для использования pip3 или pip3.5 следующим образом:

FROM ubuntu:16.04
RUN apt-get update && apt-get install -y --no-install-recommends \
    python3.5 \
    python3-pip \
    && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN pip3 install nibabel pydicom matplotlib pillow
RUN pip3 install med2image
0 голосов
/ 15 мая 2018

Как предлагается в моем комментарии, вы можете написать Dockerfile, который выглядит следующим образом:

FROM python:3

RUN pip install --upgrade pip && \
    pip install --no-cache-dir nibabel pydicom matplotlib pillow && \
    pip install --no-cache-dir med2image

CMD ["cat", "/etc/os-release"]

И приведенный выше пример команды может подтвердить во время выполнения (docker build -t test . && docker run --rm -it test), что этот образ основан на Debian GNU /Linux 8 (Джесси).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...