1

Dockerfile:

FROM ubuntu:16.04
MAINTAINER ABC

ENV DEBIAN_FRONTEND noninteractive

RUN rm -rf /var/lib/apt/lists/*
RUN apt clean
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
  apt-transport-https \
  ca-certificates \
  curl \
  software-properties-common
RUN add-apt-repository ppa:deadsnakes/ppa
RUN apt-get update
RUN apt-get update && apt-get -y upgrade
RUN apt-get install -y python3-pip
RUN apt-get install -y python3-dev
RUN apt-get install -y libmysqlclient-dev
RUN apt-get install -y libpq-dev
RUN apt-get install -y mysql-server
RUN apt-get install -y postgresql
RUN apt-get install -y postgresql-server-dev-9.5
RUN apt-get install -y python3.6

COPY ./requirements.txt /requirements.txt
RUN mkdir /var/crackd_setup/ \
   && cd /var/crackd_setup/
RUN apt-get install -y python3.6-venv
RUN python3.6 -m venv MyDjangoEnv
RUN /bin/bash -c "source MyDjangoEnv/bin/activate" \
   && python3.6 -m pip install --upgrade pip setuptools wheel
RUN apt-get update

RUN rm ~/.cache/pip -rf
RUN pip install --no-cache-dir -r /requirements.txt

Error that I'm still getting after each build command:

ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
    matplotlib==3.1.1 from https://files.pythonhosted.org/packages/57/4f/dd381ecf6c6ab9bcdaa8ea912e866dedc6e696756156d8ecc087e20817e2/matplotlib-3.1.1-cp36-cp36m-manylinux1_x86_64.whl#sha256=bab9d848dbf1517bc58d1f486772e99919b19efef5dd8596d4b26f9f5ee08b6b (from -r /requirements.txt (line 38)):
        Expected sha256 bab9d848dbf1517bc58d1f486772e99919b19efef5dd8596d4b26f9f5ee08b6b
             Got        7a00dd0dff395d85a9dd815ba813e3a8f82c7ce0d58f600a0c176ab68bf1a2d9

    torch==1.1.0 from https://files.pythonhosted.org/packages/69/60/f685fb2cfb3088736bafbc9bdbb455327bdc8906b606da9c9a81bae1c81e/torch-1.1.0-cp36-cp36m-manylinux1_x86_64.whl#sha256=40c644abef1767dcac58f3285021ea963123b392e5628d402e985123ea8701ca (from -r /requirements.txt (line 65)):
        Expected sha256 40c644abef1767dcac58f3285021ea963123b392e5628d402e985123ea8701ca
             Got        ab6fd553cbe1d9bbd2d0ac874a0ca7ad790166345eb70bac7bac55aea24d9bfd

The command '/bin/sh -c pip install --no-cache-dir -r /requirements.txt' returned a non-zero code: 1

Am I missing something on this?

Referred this: Python packages hash not matching whilst installing using pip

but it didn't work so far.

Also, Can I reduce build time for last statement? there are about 85 libraries in requirements.txt and each build result takes around 10 mins.

1 Answers1

1

Can you check if packages are completely getting downloaded? As encryption check fails here:

Check this: https://github.com/MycroftAI/mycroft-precise/issues/79

you can try installing erroneous packages independently(like pip install matplotlib==3.1.1) as to see if the issue is exactly with batch installation.

Hope this helps!!

  • Hi @Ashutosh, Thanks. The problem occurred in downloading the wheel of those libraries. I removed pytorch from ```requirements.txt``` file and did the following steps and it worked. ```RUN wget https://files.pythonhosted.org/packages/69/60/f685fb2cfb3088736bafbc9bdbb455327bdc8906b606da9c9a81bae1c81e/torch-1.1.0-cp36-cp36m-manylinux1_x86_64.whl RUN pip install --no-cache-dir torch-1.1.0-cp36-cp36m-manylinux1_x86_64.whl RUN pip install --no-cache-dir -r /requirements.txt``` – Ajay Bhagchandani Mar 12 '20 at 05:38