Bogdan Zavu
Bogdan Zavu

Reputation: 11

How to install and use numpy python package in docker container

I'm building a docker image that suppose to run a python script that depends on some packages (numpy) I install during the build. During build everything appears to be installed correctly but when I run the container it behaves like those packages were never installed. What seems to be the problem with my code ?

My docker file looks like this :

FROM myimage as intermediate

WORKDIR ./app

COPY ./mathServer ./mathServer/

RUN apt-get update

RUN apt-get install sudo 

RUN sudo apt-get install python3-pip -y

RUN sudo pip3 install numpy 

RUN sudo pip3 install httpserver 

RUN pip3 list

WORKDIR ./app

COPY --from=intermediate ./app/* ./

CMD ["sh","-c","python3 mathServer/mathServer.py"]

I would expect docker run myimage to run mathServer.py successfully but instead it complains about numpy package. "importError: No module named 'numpy''" Also if I replace command "python3 mathServer/mathServer.py" with command "pip3 list" pip3 command does not exist. Somehow the packages installed during build are not available when I'm actually running the container.

Upvotes: 1

Views: 1913

Answers (1)

CT Zhu
CT Zhu

Reputation: 54330

Please check your docker build log. Numpy requests c compiler and fortran compiler to build and install. It is likely the installation was not successful.

Consider try pre-build dockers such as https://hub.docker.com/r/continuumio/miniconda/, and add numpy via RUN <PATH_TO>/conda install numpy -y

Or https://hub.docker.com/r/continuumio/anaconda3 that already have numpyinstalled.

Upvotes: 1

Related Questions