guest
guest

Reputation: 170

How to install python libraries in docker file on ubuntu?

I want to create a docker image (docker version: 20.10.20)that contains python libraires from a requirement.txt file that contains 50 libraries. Without facing root user permissions how can proceed. Here is the file:

From ubuntu:latest

RUN apt update
RUN apt install python3 -y
WORKDIR /Destop/DS

# COPY requirement.txt ./
# RUN pip install -r requirement.txt
# it contains only pandas==1.5.1

COPY script2.py ./
CMD ["python3", "./script2.py"]

It failed at requiremnt.txt command *error it takes lot of time while creating image. because it ask for root permission.

Upvotes: 3

Views: 17236

Answers (1)

Matteo Zanoni
Matteo Zanoni

Reputation: 4142

For me the only problem in your Dockerfile is in the line RUN apt install python -y. This is erroring with Package 'python' has no installation candidate.

It is expected since python refers to version 2.x of Python wich is deprecated and no longer present in the default Ubuntu repositories.

Changing your Dockerfile to use Python version 3.x worked fine for me.

FROM ubuntu:latest

RUN apt update
RUN apt install python3 python3-pip -y
WORKDIR /Destop/DS

COPY requirement.txt ./
RUN pip3 install -r requirement.txt

COPY script2.py ./
CMD ["python3", "./script2.py"]

To test I used requirement.txt

pandas==1.5.1

and script2.py

import pandas as pd

print(pd.__version__)

With this building the docker image and running a container from it executed succesfully.

docker build -t myimage .
docker run --rm myimage

Upvotes: 5

Related Questions